美文网首页
iOS开发:什么是多态

iOS开发:什么是多态

作者: Hanfank | 来源:发表于2017-02-07 14:36 被阅读359次

什么是多态:
多态就是父类指针指向子类指针。
什么意思呢?
首先,子类继承父类
那么就子类可以调用父类的东西
相当于把父类的东西在子类复写了一遍
那么这个时候我在子类把在父类继承过来的的东西自己写一遍,并且改了继承过来方法里面的东西
则是重写了父类的方法
这个时候我要调用父类的指针调用子类对象的方法,就会首先在子类里面查找,找到之后就打印出来,如果没有找到就会在父类里面查找,然后打印出来。
这里面如果子类自己增加方法,而父类没有,就不能调用,因为父类里面没有。
也就是说父类和子类的方法要一一对应。
父类可以增加方法,而子类自己增加,就算是自己增加,父类指针也不能调用新增的方法。
看下面的代码:

mian 函数

#import 
#import "Animal.h"
#import "Pig.h"
#import "Dog.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
  Animal *A =[Animal new];
  A=[Pig new];
  [A eat];
  [A walk];
  A=[Dog new];
  [A eat];
  [A walk];
  return 0;

        }

}

动物的方法也就是父类

父类里面写的方法子类可以继承过去

#import 
@interface Animal : NSObject
-(void)eat;
-(void)walk;
@end
#import "Animal.h"
@implementation Animal
-(void)eat{
  NSLog(@"吃东西");
}
-(void)walk;
{
  NSLog(@"走路");
}

@end

Pig类继承了动物类

#import "Animal.h"
@interface Pig : Animal//继承了Animal
@end
#import "Pig.h"
@implementation Pig
-(void)eat
{
NSLog(@"大口吃东西");
}
-(void)sleep;
{
NSLog(@"睡觉");
}
@end

相关文章

  • iOS开发:什么是多态

    什么是多态:多态就是父类指针指向子类指针。什么意思呢?首先,子类继承父类那么就子类可以调用父类的东西相当于把父类的...

  • 多态、继承、拓展、分类

    多态 一、概念 多态:不同的对象以自己的方式响应消息的能力叫做多态。 在ios开发中,每个类都有自己对应的名字空间...

  • 1.9 多态基本概念

    本小节知识点: 【了解】什么是多态? 【掌握】多态的条件 【了解】多态的优点 1.什么是多态? 什么是多态:多态就...

  • iOS下 创建远程cocoapods私有库的套路

    给你讲一个笑话:路人: 你是做什么的?iOS开发: iOS开发.路人: iOS 不是已经存在吗?还开发什么? ...

  • 如何学习iOS开发

    如何学习iOS开发 1.什么是iOS开发iOS开发,就是开发基于苹果iOS系统的程序。而大名鼎鼎的iPhone、i...

  • C语言第一部分

    本篇博客的主要知识点是: 01.ios开发概述 02.什么是 ios 03.什么是 ios 开发 04.为什么选择...

  • 知识分享之概念——程序中多态的理解,什么是继承什么是多态?

    知识分享之概念——程序中多态的理解,什么是继承什么是多态? 背景 日常我们开发时,我们会遇到各种各样的奇奇怪怪的问...

  • [iOS开发]方法的封装之链式编程

    面向对象的语言有三个特点,封装 继承 多态,这会说的链式编程是基于封装这一特点的延伸 Masonry是iOS开发中...

  • 为什么学iOS的同学会比Android工资高

    现在很多人入行iOS开发多数是看中了iOS的高薪,为什么iOS工资那么高呢?iOS开发和Android开发区别在哪...

  • OC 基础

    iOS 开发三大特性: 封装, 继承, 多态 OC中所有对象的交互都是通过指针实现的 继承: 子类(也叫孩子类)继...

网友评论

      本文标题:iOS开发:什么是多态

      本文链接:https://www.haomeiwen.com/subject/oftmittx.html