OC1

来源:互联网 发布:模拟考试软件 编辑:程序博客网 时间:2024/06/06 14:17
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.
@interfacePerson : NSObject
@intferface是接口  Person是类名  :继承的谁  NSObject是所有oc类中的基类

13.@public  实例变量被@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);//NSLogoc自己的控制台输出函数

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