天天看点

OC1

1.oc  objective -c,是一门面向对象的编程语言 2.oc 和 c a.oc是c的超级,oc是在c语言的基础上做了扩展,c语言所有的语法在oc中都能使用,甚至你可以再工程里加入c++语言 b.oc在c的基础上扩展了面向对象的思想 c.oc是一门运行时语言 d.oc为我们提供了丰富的类库 3.如何学好oc?   a.百度(iOS)b.看苹果的官方文档(API接口文档) c.看博客   d.自己的错误总结 4.面向对象编程的三大特征:封装,继承,多态 5.类是什么?具有相同的特征和行为实物的抽象 6.对象:类的实例化 7.创建一个类  a.通过Cocoa  touch 和class 模板,创建类,自动生成.h和.m文件    b.在.h文件中写类的特征和方法的声明   c.在.m文件中写方法的实现部分

8.实用类创建对象    a.开辟内存空间   b. 初始化

9.给Person对象开辟内存空间  [Person  alloc]   代表给Person这个类发送了一个消息alloc [ ]代表调用方法 10.Person  *person1 = [Person alloc]; person1代表创建的对象    堆区中isa指针用来指向父类 每一个对象都有一个isa指针,用来指向他的父类,之所以能掉用父类的方法,完全是因为这个isa指针

11.初始化   如果没有赋值这时默认所有的实例变量都为空nil Person   *p = [[Person alloc]init];这条语句同时完成两件事,开辟内存空间并初始化

12. @interface Person : NSObject @intferface是接口  Person是类名  :继承的谁  NSObject是所有oc类中的基类

[email protected]  实例变量被@public修饰后就能在类的外部访问到这些实例变量了 14.类的外部是��️:.h和.m其它文件就叫类的外部 15.类的内部是��️:.h和.m这对文件内 16.NSString *_name;NSString不是基本数据类型,所以那它定义变量的时候需要加* 17.NSTnteger _age; NSTnteger是基本数据类型,所以在定义变量的时候不需要加*             CGFloat就是基本数据类型double 18.行为的声明 a.减号(—)修饰的方法属于对象方法,这个方法只有我们定义的这个类的创建出来的对象来调用 b.用加号(+)修饰的方法属于类的方法,这个方法只能有类来调用

19.重写了init方法 -(void)init; 20. - (void)talk:(NSString *)content;//一个冒号代表有一个参数  写一个带有参数的方法时的格式< :(参数类型)参数名> 21.如果写一个方法没写实现这种现象叫空实现 22.  NSLog(@"Hello! 我是%@,年龄%ld,性别%@",_name,_age,_sex);//NSLog是oc自己的控制台输出函数

23.在.m中除了可以写多个类的实现部分,还可以把一个类的声明和实现部分都写在.m文件中,此时这个类就是一个私有的类,只能在.m文件中看到,其它任何文件都无法看到