oc 的第四天

来源:互联网 发布:java无参方法构造 编辑:程序博客网 时间:2024/05/01 13:44

                    继承与多态

1,关键字的使用self和super

       1.self 在对象方法中,指代的就是调用当前方法的那个对象
       比如在.M文件中它可以代表当前对象去调用另一个方法名
       [self     方法名 ];
       2.self在类方法中就只带当前的类
       [self    方法名];
      3.修饰实际变量
      把。h文件中不用下划线这时可以用self 
      self ->age=age
   self可以理解为自己
2.继承

        动物 吃 ,跑      父类
    狗 /吃  跑/  看家     子类
    毛/吃   跑/   上树    子类

1,就是父类中的方法子类它也有并且可以调用
子类也必须引入父类的
在main函数中必须引出头文件

2,怎么调用?
首先要创建一个对象
[对象  调用方法];
但是调用时候不同的类都要先创建对象然后才能调用
可以调用父类的也可以调用自己的

3,子类继承父类的方法时进行重现
就是用super调用父类方法时然后重新赋值
比如调用父类吃的方法
[super eat];
然后打印它吃什么,就会在main函数中打印出狗会吃什么而不是继承动物吃的东西了

4,子类没有的东西他会继承父类一级一级的往上面找一直去找到object 找不到就报错了

3实例变量的修饰符

public 共有的 在任何地方都能访问
protected 受保护的  默认类型只能在当前子类访问 
private 私有的 只能在当前类使用只能在当前类访问 子类也不可以去访问
description以%@输出实例对象
格式:-(nsstring)description{  
}

4多态
1,首先满足多态的条件
   存在继承关系的
   存在方法重写
   父类指针指向子类 
多态的特点就是不同对象能够响应相同的方法能力
就是子类都可以响应父类的方法

2, 在.h和.m文件中不变
   在main函数中
依然是创建一个对象但是  [要指向的子类   new];
  [指针    方法];
如果要掉用另一个子类
 父类的指针 =[要指向的子类  new];
  [指针    方法];
3、父类能调用子类不用重写的方法
    就是强转一下
    [[子类* ]父类的指针   另一个子类的方法]

5,类的本质
类的本质也是对象,类对象
  类对象的获取
创建一个类calss是所有类的基类
calss   指针=[ 类  calss]


  


















0 0
原创粉丝点击