Objective-C学习笔记(二十七)——方法的重载与重写

本文探讨Objective-C中多态的实现,虽然OC不支持方法重载,但介绍了方法重写的概念。通过创建Printer父类及其ColorPrinter和BlackPrinter子类,展示了如何重写并调用父类方法,强调了使用[super method]调用父类方法的机制。
摘要由CSDN通过智能技术生成

       学习面向对象编程,不得不提的一个特性就是多态,多态实现的方式就是方法的重写与重载。首先声明一下,在OC中是没有方法的重载的。

(一)方法重载

       OC中没有重载这个概念,但是我们要知道重载是干什么的。重载就是在一个类中有多个方法,这几个方法的方法名相同,但是参数的个数或者类型不同,在调用的时候,编译器会根据传入的不同参数来决定调用哪个方法。


(二)方法重写

       方法重写就是子类从父类继承了方法,然后改写该方法的实现,即重写方法体。我们来OC中简单实现方法重写。

(1)先新建一个父类Printer,继承自NSObject,在该类中声明并实现一个方法。

-(void)printer{

    NSLog(@"我是打印机");
}

(2)再新建两个类ColorPrinter,BlackPrinter,两个类都继承自Printer类,然后在两个类的m文件中分别实现printer()方法,即重写。注意不需要声明。

-(void)printer{
    NSLog(@"我是彩色打印机");
}

-(void)printer{
    NSLog(@"我是黑白打印机");
}

(3)在main.m中实例化各自的对象,并分别调用printer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值