一.经过对封装的学习,了解了其安全性。
成员变量前面有做用域限定符(protected,public,private)。在访问成员变量时,通常不声明的状况下都是private私有的,是受protected保护的,只有执行@public公开的状况状况下才能够改变成员变量的值。类的成员变量是在括号{ }之间的内容,而括号外的@interface 和 @end 之间是方法的定义。在接口部分中,定义的方法只有方法的定义,没有方法的实现。
@public做用域限定的实例变量,能够在任何状况下访问;@private做用域限定的实例变量,只能在这个类里面才能够访问;@protected做用域限定的实例变量,能够在这个类里面和这个类的派生子类里面访问,在类外的访问时不推荐的,但也能够访问。
访问成员变量,能够经过读取方法(getter)和设定方法(setter)进行的。若是不考虑封装的问题,单从技术上讲,能够直接经过对象访问成员变量,访问操做符是"->",如p->tile,也能够取得tile成员变量的内容(*p为指针,在main函数中建立的新对象)。固然访问时要改变值的话,须要@public公开。
函数前面的减号(-)表示对象方法,-(void)setNumber:(int)num;能够使用类属性,可是须要实例化;main中需新建对象,才能够调用。
函数前面的加号(+)表示类方法,+(void) setStudent;不能够使用类属性,也不须要实例化;main中能够直接调用,无需新建对象。
二.经过对继承的学习,了解其能够减小累赘性。
对于两个类似的类,能够定义他们的父类。只需对父类一次定义,子类无需再定义就能够经过调用父类实现其所需。在重写时,输出的是子类的内容,若子类与父类的名不一样不能重写,一个有参数一个无参数,还需子类在其接口进行声明。子类不能继承父类中做用域限定符为@private 的成员变量。子类能够重写父类的方法以及命名与父类同名的成员变量。安全
三.复合、多态函数
对象间的组合叫作复合。复合是经过包含实例变量的对象指针实现的。NSLog()能够使用%@格式符来输出对象。 关键字self和super。self:[self 方法名]调用本类的方法。super:[super 方法名]在子类调用父类被覆盖的实例方法,这样既能够重写,又能调用父类的方法。学习
多态,父类的指针类型指向子类实例化对象:父类名*对象名=[子类名 new] (实例化子类)spa
[对象名 子类方法名] (调用)。.net