继承 多态 类别

继承

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

//属性的权限:

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

//属性权限表:

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

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

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

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

多态

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

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

类别

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

1.新建Object-C File
2.file type选择 category
3.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.扩展的方法和属性外界都不能访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值