oc基础知识2:继承、初始化,方法重载,方法覆盖

本文介绍了面向对象编程中的成员属性访问控制、初始化方法、self与super的区别及使用场景、方法的重载与覆盖概念,以及继承的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   

   1、成员属性的访问控制方式:

    @private表示成员属性只能在类内使用,不能被别的类和该类的子类使用;

    @public表示成员属性可以被子类使用,也可以被别的类使用

    @protected表示成员属性可以在类内合其子类使用。

    若没有直接说明访问方式,则默认为是@protected

   2、初始化方法:

   初始化时,首先调用父类的初始化方法,然后调用子类的初始化方法;

Oc中有2个关键字可以在方法实现中代表执行方法的对象

   Self:执行方法的对象本身;

   Super:调用对象的父类来执行方法;

   Self除了可以性自身请求方法外,还可以作为一个代表对象本身的变量来使用,而super只能出现在消息表达式中。

   初始化方法的返回值类型必须为id,格式如下:

     -(id) init

     {

        If(self=[super init])

            {初始化成员属性;}

        else

           {return nil;}

        return self;

    }

    当子类和父类中定义了相同的方法名时,子类会重载父类的方法。

 

     重载(overload):基于同一个类,对于类的方法(包括从父类中继承的方法),方法名相同,参数列表不同的方法之间就构成了重载关系。

      

     覆盖 (override):也叫重写,是基于继承的。就是在当父类中的某些方法不能满足要求时,子类中改写父类的方法。当父类中的方法被覆盖了后,除非用super关键字,否则就无法再调用父类中的方法了。

      3、继承:

  子类具有父类的所有属性和特征,并且有自己独有的属性和特征。继承是“属于”关系;人是一个类,小红属于人,是人的一个子类。一个子类只能由一个父类,而一个父类可以有多个子类。

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值