本节MJ视频主要讲了,面向对象中的几个基本问题:封装,继承,多态,self,super 等问题。
1.封装:设置属性,都不用@public. 通过方法set,get设置和获取属性。属性定义使用 _属性名。
2.继承:子类继承父类。父类要声明在子类前面。子类可以使用父类中的方法,子类可以重写父类中的方法。
但是 @interface @end之间不能出现和父类同名的方法,只要实现@implementation @end 之间加上方法名就行了。
3.多态:有继承才有多态。多态是 父类的指针指向子类的对象。如果父类要调用子类中的方法,必须强制转换后才可以调用。
4.super:可以在子类的方法中调用父类的方法。super处于对象方法就调用对象方法,super处于类方法就调用类方法。
5.self:可以在类中调用类中的成员变量。可以调用类自身的方法,self在对象方法中,代表对象。在类方法中,代表类。
当使用 self 调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找;而当使用 super 时,则从父类的方法列表中开始找。然后调用父类的这个方法(从super出现的在的方法所在的类的父类开始查找。)
6.NSString:
int age = 15;
int no = 5;
NSString *name = @"jack";
NSString *newStr = [NSString stringWithFormat:"My age is %d and no is %d and name is %@",age,no,];