面向对象的三大特性
1)封装(set方法和get方法,掌握)
2)继承(掌握)
3)多态(理解概念即可)
(一)继承(一种语法):是用在类与类之间,代表(两个)类之间的关系.
1.继承的使用场合
想要获取得某个类所有成员变量和方法,要实现什么,就通过继承.
1> 当两个类拥有相同属性和方法的时候,就可以将相同的东西抽取到一个父类中
2> 当A类完全拥有B类中的部分属性和方法时,可以考虑让B类继承A类
继承的好处:
1> 抽取重复代码,提高了代码复用率
2> 建立了类之间的关系
3> 子类可以拥有父类中的所有成员变量和方法
继承的坏处:
代码的耦合性强(就是类与类之间的联系)
>注意点:基本上所有类的根类是NSObject
2.
继承要点:
1)当调用方法时,首先检测子类有没有实现这个方法,如果子类没有实现,就会调用父类的实现
2)重写:子类实现父类中声明的方法
3)子类里面声明的成员变量 和 父类里面声明的成员变量 不能同名
代码示例:
/* 就近原则 重写:子类重新实现父类的某个方法,会覆盖父类以前的做法 NSProxy和NSObject isa 所有继承至NSObject对象,都有isa指针(是声明在NSObject中),指向它对应的类 */ /* 1.重写:子类重新实现父类中的某个方法,覆盖父类以前的做法 2.注意 1> 父类必须声明在子类的前面 2> 子类不能拥有和父类相同的成员变量 3> 调用某个方法时,优先去当前类中找,如果找不到,去父类中找 2.坏处:耦合性太强(即类之间的关系太强,你离不开我,我离不开你,把某个类删掉后,就不能用了) */ #import <Foundation/Foundation.h> @interface Person : NSObject // 冒号表示继承关系,后面跟的是父类 @end
(二)super
super的作用
1)直接调用父类中的某个方法。
2)super处在对象方法中,那么就会调用父类的对象方法。
super处在类方法中,那么就会调用父类的类方法。
3)使用场合:子类重写父类的方法时想保留父类的一些行为。
思想:对于一些相同的属性,一般抽取一个公共类。
时间: 2024-10-31 01:11:04