继承 多态 类别

来源:互联网 发布:淘宝宝贝图片尺寸教程 编辑:程序博客网 时间:2024/04/30 05:07

继承

子类继承父类的属性和方法
//派生的概念:子类自定义的属性和方法
//继承的作用:在子类中可省略父类中含有的属性和方法

//属性的权限:

 @private :  私有权限 @protected: 保护权限,(默认) @public:    公有权限

//属性权限表:

                 类内      类外         继承关系@private         可以      不可以        不可以@protected       可以      不可以        可以@public          可以      可以          可以

//如果没写属性,property会自动生成private权限的属性
//如果写了属性,属性默认权限为protected

//总结:没有特殊情况,不要改权限,默认为@protected即可;因为@protected权限既确保了封装性和继承性

//继承的特性1: 子类继承父类的属性和方法
//继承的特性2: 重写
//重写的使用场合:当父类的方法不适用子类时,需重写
//重写: 父类有init,子类再生成该方法
//子类重写后,子类就不会调用父类的方法,而是调用本类的方法

多态

不同对象调用相同方法,产生不同反应

//总结实现多态的条件:
//1.继承 2.重写 3.父类对象指向子类对象

类别

给不能被继承的类扩展方法:例如:系统定制类(NSString,NSMutableString、NSArray、NSDictionary…)
//步骤

1.新建Object-C File2.file type选择 category3.class选择需要扩展方法的类

//匿名类别:

    //1.既可以扩展属性、也可以扩展方法    //2.扩展的方法和属性外界都不能访问

//使用类别需要注意的问题

    1.类别中不能添加成员变量    2.使用类别增补的方法须导入类别头文件    3.父类类别中的方法,子类也可以用

//类扩展/匿名类别

    当不想对外公开一些类的方法时,我们可以使用类扩展 

总结

//1.继承

          //a.特性1: 子类继承父类的属性和方法          //b.特性2: 重写            //重写使用的场合:当父类方法不适用时,子类可重写          //c.属性的访问权限:@private、@protected、@public            //主要区分,属性在类内、类外、继承关系中的访问权限

//2.多态

         //A.使用多态的条件:         //a. 继承;b. 重写. c.父类对象指向子类对象         //B.多态往往是通过传参的方式指向子类对象             //注意:调用方法时:不看谁调的,要看谁传的

//3.类别

        //A.类别:            //a.类别概念: 给不能被继承的类扩展方法            //b.注意:类别只能扩展方法,不能扩展属性            //c.类别也具有继承性(记住可变字符串调用NSString类别方法的例子)        //B.匿名类别           //a.既可以扩展属性、也可以扩展方法           //b.扩展的方法和属性外界都不能访问
1 0
原创粉丝点击