Objective-C学习笔记(二十五)——属性与方法的继承学习

本文介绍了Objective-C编程语言中继承的概念及其实现方式。通过具体的代码示例,详细讲解了属性和方法如何在父类和子类之间传递,帮助读者理解面向对象编程中继承的基本原理。

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

       继承是面向对象中除了封装之后的第二大特性。继承使类之间可以不断的扩展,因此会有父类与子类的关系。子类继承自父类,可以从父类中继承属性和方法。下面我们来看一下。

(一)属性的继承。

(1)新建MyClass类,继承自NSObject类;再新建MySubClass类,继承自MyClass类。此时对于MySubClass来说,MyClass就是基类,也是父类,自己就是子类。在父类MyClass中声明一个属性。

@property(nonatomic,strong) NSString *className;//这里属性是可以被继承的;

(2)同时在main.m中进行实例化,发现不仅MyClass可以访问className这个属性,MySubClass也可以访问className这个属性。表示子类已经从父类中继承了该属性。

        //父类
        MyClass *myClass = [[MyClass alloc]init];
        myClass.className = @"MyClass";
        
        //子类
        MySubClass *mySubClass = [[MySubClass alloc]init];
        mySubClass.className = @"MySubClass"; 
        

(二)方法的继承

(1)在上一个例子的基础上,来实现下对象方法的继承,注意,在OC中方法是没有访问修饰符。在MyClass.h中声明一个方法:

-(void)report;

(2)去MyClass.m中实现该方法,只要打印出该类的类名即可。

-(void)report{

    NSLog(@"ClassName = %@",_className);
}

(3)在main.m中分别用MyClass,MySubClass的对象调用该方法,发现都可以进行调用,所以可以知道对象方法是可以继承的。

        //父类
        MyClass *myClass = [[MyClass alloc]init];
        myClass.className = @"MyClass";
        [myClass report];
        
        //子类
        MySubClass *mySubClass = [[MySubClass alloc]init];
        mySubClass.className = @"MySubClass"; 
        [mySubClass report];
        

(4)结果输出:从结果中可以看出,子类从父类继承属性和方法后,基本上是相互独立的。子类对象可以对这些属性和方法进行访问和调用。

.


      总结,如果一个方法在类中没有声明,只有实现,则表示该方法不能被外界调用,也不能被继承,就好像被私有化了一样。


github主页:https://github.com/chenyufeng1991  。欢迎大家访问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值