第一次接触oc

第一次接触oc,要明白oc与之前所接触过得C语言不同,oc是面向对象而C语言是面向过程的,对于新手来说分清这2个的区别还是挺困难的。

首先面向过程是一种以事件为中心的编程思想—分析出解决问题所需的步骤,然后用函数把这些步骤一步一步实现,使用的时候一步一步调用。

而面向对象是一种以事物为中心的编程思想,体现在它是把问题分解给各个对象,建立对象不是为了完成一个步骤,而是为了描述某个事物在整个问题的步骤中的行为。力图使计算机语言对事物的描述与现实中改事物的本来面目尽可能一致。

这时候我们 就要了解什么是类什么是对象,对象按照我的理解就是具有实物,具体到一个,你描述的类中 可以明明白白的指出是什么,比如奶茶妹妹,这个就是一个对象。

而类是模子,它是确定对象将会拥有的特征(属性)和行为(方法),类是对象的类型,具有相同属性和方法的一组对象的集合,一个类可以对应多个对象。比如说奶茶妹妹我们就说它属于person这一类中。  类是抽象的概念,仅仅是模板,比如说“手机”对象就是一个你能够看得到,摸得着的具体实体,根据类求出对象。

“手机类”
特征

屏幕 cpu

内存

 
行为(方法)
打电话 发短信...
 

明白了类和对象之后我们就要在oc中创建一个类了,新建一个file,或者点击花键加N,这时候就可以创建一个类了,

定义一个类分为2个部分,即类的声明,以及类的实现,一个是后缀为.h一个.m。

首先先来确定.h里面也就是@interface里是干啥的。

@interface Person : NSObject{

    //类型  变量名;变量名只能包含数字、字母、下划线,并且只能以下划线或者字母开头

   // @public 

    int age;//整型           //方法以-/+开头,小括号,小括号里代表方法的返回值类型,如果无返回值,则用void,接着方法名(尽量做到)

    float height;//浮点      // 见名知意)然后是要传得参数    double wight;
char   xuexing;//字符                            //NSString *name;//字符串      //
}//方法的声明;
-(void)setName:(Nsstring *)newName;
-- (void)setAge:(int )newAge;//便利声明

-(void)setAge:(int)newAge andName:(NSString *)newName;

//减号代表方法类型(void)为返回类型,setAge是方法名 @end

上面这一段就是简单地声明了实例变量,还有方法的声明

注意方法有的是有返回值的 ,具体参看C语言函数返回值

每个?方法名都以冒号结束,这个冒号通知编译器该?方法期望
 看到?一个参数,然后指定参数类型,并将其放在?一对圆括
 号中,这与?方法?自?身指定返回类型的?方法?十分相似,最后
 使?用象征性的名称来确定?方法所指定的参数

-(void)setAge:(int) age;表?示该?方法有?一个整型参数

介绍完.h之后我们接下去看.m里面@implementation

这里面主要就是类实例变量和方法的实现

implementation Person
-(void) print
{
    NSLog( @"%i/%i", name,age);
-(void) setAge: (int)age
{
_age = age;
}
-(void) setName: (int)name
{
    _name = name ;
} -(int)getAge{
return age;? }
时间: 2024-08-08 05:37:34

第一次接触oc的相关文章

第一次接触OC多态,动态类型与动态绑定

多态:允许不同的类定义相同的方法. 动态类型:程序直到执行时才能确定所属的类. 动态绑定:程序直到执行时才能确定实际要调用的方法. id类型:一种通用的对象类型,也就是说,id可以用来存储属于任何类的对象,让不同类的输出不用特定设定,通用一个id类型就好. 多态的出现时为了让不同的类能使用同明的方法.比如add,这个让程序的可读性大大提高,也降低了编程难度.add就是+,哪种类型的+都用add标明方法,清晰易懂. 动态类型与动态绑定是为了解决随多态的便利而引起的弊端,有了动态类型与动态绑定,不用

第一次接触oracle数据库与suse系统心得

第一次搭建oracle用了两天时间.............. 经历了太多的艰难 所以做一些总结 总结,心得: 因为昨天安装多次未成功,所以今天在部署前,先总结了一下昨天出现的问题,提前做好了一些相应的措施,避免了一些不必要的麻烦 先叙述下昨天的大概流程:            昨天在安装的时候,先是在网上找了文档,然后就开始在VMware上部署oracle的运行环境SUSe11 当时VMware上给的配置如下:(处理器1p/1c 内存1G 硬盘10G 等系统安装完成后就开始配置网络,让虚拟机与

第一次接触实际环境---NAT转换

今天在技术群里,有个做软件的哥们公司里面要安装网络,就剩一个NAT了,后来我就主动接茬,其实没接触过真实的网络,第一次接触我也挺紧张的,第一次就这么破了^_^,其实很简单,但是我很高兴,那就给大家讲一下咯\(^o^)/~ 今天原本要用NAT的但是考虑到他公司的电脑多,没用NAT,用的PAT 先说一下NAT和PAT的区别吧 NAT的地址转换是指每个内网地址都被转换成ip地址+源端口的方式,这需要公网ip地址为多个.而PAT由于ip地址不足够,就会出现内网地址被转换成ip地址+端口段的形式,这样的公

空调的进化史:“大多数美国人是在电影院第一次接触到空调的”

空调的进化就像人类的进化一样,适者生存:区别在于,人类是为了适应自然环境的需求而空调是为了满足人类不断变化的需求.夏天睡醒了,为了大家的福利着想,现在就来"八一八"空调的进化史吧,看看人类都有什么稀奇古怪的需求?!空调又是如何变化的?现在的空调又是以怎样的难以想象的高科技颠覆你的"三观"?未来的空调又将会是怎样的逆天存在? 空调的进化史 你知道吗?空调最初并不是因为人才产生的,而是源于一个印刷作坊,印刷机由于空气湿度与湿度的变化使得纸张伸缩不定,对位不准,印出来的东

第一次接触shiro --- 开源之旅

1)shiro的身份验证过程在外界主要是和subject打交道,就行登录 3)SecurityManage负责整个身份验证的过程 2)和对于整个过程需要个来源,就是realm 第一次接触shiro --- 开源之旅

第一次接触Java

在学习完计算机基础后,开始学习了专业课程Java.这是我第一次接触Java,内心还是有点小激动的,想到在以后的工作中都离不开这个了.虽然说之前没有接触过Java,但我大学的时候,学过Vb也考过了计算机二级,所以对于代码来说不陌生,只不过有着不同的语法而已.对于第一天学习Java,难度不是很大,对于老师讲的内容,自己多练习练习就好. 虽然第一天老师讲的内容不多,自己也练了很多次,但对于以后的学习也不能放松.以后的每天老师白天讲的知识一定要听懂,然后自己要勤加练习,老师布置的作业一定要自己完成,如果

百度地图API的第一次接触

因为项目的需求,第一次接触了百度API. 第一步:引用百度地图API的脚本 如果在局域网环境中,要把地图文件和js文件都要下载下来 <script type="text/javascript" src="http://api.map.baidu.com/api?key=*****************&v=1.0&services=false"></script> 这个要去百度开发者中心申请KEY 第二步:建立一个你随便取名

个人理解去搭建SSH三大框架spring管理配置文件(初学第一次接触SSH)

<bean id="dataSuorces" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="oracle.jdbc.OracleDirver"/>(oracle数据库) <property name="url"

第一次接触的框架

第一次接触的框架Thinkphp3.2 现在TP5都出了~emmmm,技术的更新日新月异,作为菜鸟的我,tp3还是没有掌握了~ emmmmmm,突然感觉,现在的社会,很多人真的很难有一技之长的,所以呢-- 现在 的 社会比拼的 对工作的高效适应能力吧~ 原文地址:https://www.cnblogs.com/King-blog/p/9921881.html