类和对象的开发思想

1.编译指令:cc -c xx.m

2.查看所有文件:ls - l

3.新建文件:touch xx.m

4.打开文件:open xx.m

5.编译文件:cc -c xx.m

6.警告:2 warnings generated.

7.继承语法:@interface xxx : NSObject    @end

8.加上 #import

9.程序一退出,就会回收说有的内存空间

10.OC中使用指针来使用对象,指针指向对象的地址

11.[Car new]会创建出一个新对象,并且会返回新对象本身(新对象的地址)

12. OC对象的本质就是结构体

13.实例变量也叫成员变量

14.error:instance variable 'wheels' is protected p->wheels = 4;

@public 可以让外部间接地访问类内的成员变量

15.默认情况下,所有成员变量的对象值都是0

16.类的声明,写成员变量,方法的声明

17.类的实现

18.对象方法必须以减号开头,OC方法中的小括号,只能扩住数据类型

19.发送消息,所有对象都能共享这段代码,指针

20.p里面存储的东西,交给p2,那么p2指针指向的地址的数据是p指向地址的数据

21.对象的简单内存分析,类只占一份存储内存空间,一个对象会占有一块内存空间,类的内存空间和对象不相同

22.在使用类创建对象之前,会将类的内存空间申请出来,类里面有方法列表,每个对象内部其实都有一个默认的指针 isa

23.对象内部有一个isa 指针,它的作用,就是指向对象所对应的类

24.类里面有一个方法列表,的内存空间

25.OC对象与函数的关系:函数参数是基本数据类型就是值传递,如果函数参数是个指针就是; [Car new]这行代码过后就在内存中有一个类 和 对象的内存空间了。

Car类-(void)run;方法列表;

地址:ffc0 Car对象 Wheels=0 Speed=0 默认的isa指针

Car *c;是一个新的指针地址 c=0xff9;

追后,c的指针地址就是赋值给了上面函数的指针,函数的指针就也指向c指针指向的那块内存地址。

函数的参数,在函数调用完之后,形参数的内存就会收回。

26.想清楚指针现在指向的是谁,类的内存只有一份

27.OC中的对象一直会在内存中,对象是不可能回收的

28.mian函数退出后,所有内存都会回收。

29.实例变量,必须有对象的时候,这个对象才能产生

30.@interface 里面只允许给成员变量申明,不允许给成员变量赋值

31.static 不可以修饰成员变量(实例变量)

32.函数有内部函数和外部函数,static 修饰的函数式内部函数,方法不允许

33.OC程序与c使用的编译器是一样的,编译的顺序都是从上到下编译,只需要把申明放在前面

34.函数和方法的区别:本质的区别,对象的方法都是-开头,声明和实现写在制定的地方,否者编译器不知道是哪个类的,对象方法只能对象来调用。 

35. ./a.out 是调用main()函数,已经完成编译和链接的2步了

36.函数是可以写在文件中的申明之外的任意位置,函数是归文件所有的,main()函数之后的话,就先申明一下。最好,还是将函数写在外面。

37.对象方法是归类所有或者是对象所有

你可能感兴趣的:(类和对象的开发思想)