您的位置:首页 > 其它

从今天开始学OC,一天一更,让我们共同进步。

2015-08-11 20:28 281 查看

第一天

OC的文件后缀名为.m(message)的意思,
第一个程序hello
world

打印函数NSLog();和C语言和c++的区别是,它会自动换行。

#import
:包含系统的头文件。和C语言的#include
类似,但是,他会自动判断是否已经被包含,而C语言中需要用#ifndef #endif来进行管理:



定义一个类:
包含两个文件:
.h:类的声明文件,用于变量和函数的声明
@interface
:声明一个类:后面跟一个类名。

@end
代表这个类结束

@interface : ":"代表继承的标志。后面跟父类名。



把成员变量写在大括号里面,然后方法名写在括号外面,


声明方法:所有在.h中声明的方法都是公共的方法:
-:说明是个动态方法:(对象的方法)
+:说明是一个静态的方法:(类的方法)
方法的参数问题:

一个冒号对应一个参数。
.m:实现.h文件中声明的方法:
@implementation +类名:
(实现类中的方法)

@end结尾:


main函数中的方法实现:
1.所有的OC对象都要加一个*,所以OC的所有对象都是指针
2.创建一个对象:例如:Student *stu
=[Student alloc];

3。初始化:stu =[Student init];

合成一块可以写成:Student *stu = [[Student alloc]init];

4,释放对象。


点语法:
和c++和java的语法不通,OC
的“.”实际上是调用了类中的动态的方法:。而前两者是用一个对象来操控他的参数。而在OC中,如果一个类Person
,有属性age,set
和get方法都已经声明完毕,

Person *per =[[Person alloc]init];
Per.age=23;--------->[per setAge:23]
调用了set方法:

Int
age =per.age;----------->intage = [per getAge]
调用了get方法:


总结:如果“."
作为左值,调用的是set方法

如果”.“作为右值,那么调用的是get方法:


注意:如果在set方法中用self.age =age :相当于自身调用了自身,会造成死循环,不可。。。
同样,在get方法中也不能return
self.age ,这样也会调用get方法,自身调用自身,死循环、。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: