您的位置:首页 > 其它

OC学习第三章 点语法 属性 继承 多态

2015-10-30 20:10 204 查看
OC学习 第三章 点语法 属性 继承 多态

1.点语法
要想使用点语法,setter/getter方法必须严格按照格式来写(首字母大写且只能对应一个成员变
量)

对象名.成员变量 = 值;

s.nowlive=1800;

s.agolive=2000;

s.nowat=@"水晶";

s.agoat=@"草丛";

s.atack=150;

s.defense =40;
2.属性 @property(nonatomic,strong)NSString
*name;

属性帮我们封装了setter/getter方法 格式为:@property
+ 属性名(.h文件)

属性注意事项:

1、当属性名和成员变量名一样时,如果我们想保证成员变量有值,那么就需要在.m中加
入@synthesize变量名。

2、当属性名和成员变量名一样时,如果我们对成员变量的值不强求,但我们又想打印赋上的值,这 时在.m里可以使用_属性名或者self.属性名。

3、当定义一个属性时,会首先查找是否有以_属性名命名的成员变量,如果有,则默认对其进
行set和get,如果没有,则隐式生成以“_属性名”命名的变量。
4、当我们使用属性时,成员变量可以省略。
3.继承特点:子类继承父类后,重写了父类的非私有的方法和属性。

(1)使用继承可以实现代码的复用,减少代码的

(2)objective c中一个类可以继承另外一个类;

(3)继承关系是可以传递的;

(4)单一继承性(只能继承一个父类)

(5)被继承的类称为父类或超类(基类)

继承的类称为子类或派生类(孩子类)

(6)子类可直接“拥有“父类中所有允许子类继承的属性和方法

(7)子类可以改变父类中已有的方法,执行不同的代码实现

(8)子类除了可以调用父类的方法,也可以调用父类的父类的方法,也就是说继承可以确 保某个父类型之下的所有类都会有父类型所持有的全部方法;

继承中方法的调用流程:首先到子类去找,如果有该方法,就调用子类方法,如果没有实现,就再到父类去
找,如果父类还没有,再到父类的父类去找,如果最后一直没招到,程序会崩溃

4.多态:父类的方法被多个子类继承,因子类实现方法不同而表现出的多种形态(父类指针指向子类对象)

多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态。

在使用多态是,会进行动态检测,以调用真实的对象方法。

多态在代码中的体现即父类指针指向子类对象。

Person *p = [[Student alloc]init];父类指针指向子类对象,编译时会认为是父类的对象,
但运行时,会检测其具体是谁的对象
[p sleep];

虽然说实际上是子类的对象,但是在编译期间,仍被 当成父类使用,因此,不能直接调用子类的方法或属


[p feedDog]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: