zoukankan      html  css  js  c++  java
  • 面向对象三大特性之继承和多态

    继承

    概念:子类可以继承父类的一切

    方法重写:在子类里面对父类的方法进行重写,实现自己独特的功能。
    特点:单继承:一个子类只能有一个父类,一个父类可以派生出多个子类。
    override重写(子类对父类的重写)

    //overload重载(函数的重载),编译多态

    class Ren
    {
        public $name;
        function say()
        {
            echo $this->name."正在讲话!";
        }
    }
    
    class China extends Ren//继承了所有的人的属性和方法。继承的关键字extends。继承以后China对象里面就包括Ren类里面的所有属性和方法。
    {
        public $dizhi;//添加子类自己的属性
        function say()//重写父类的方法say()。
        {
            parent::say();//通过双冒号调用父类的方法
            
            echo "中国人说话";//由于上一行引用了父类的方法,输出时会输出父类的say和子类的say,也就是会输出“正在讲话!中国人说话”
        }
    }
    
    class America extends Ren//继承了所有的人的属性和方法
    {

      function say()    {    echo "speak";//上面没有引用父类方法,输出时只输出子类的say,也就是输出“speak”    } } //$c= new China; //var_dump($c); //$c->say();//子类名称->方法名就可以直接调用。
    //$a = new America();
    //$a->say();//输出“speak”

    多态(运行多态)
    概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同状态。
    条件:
    1.必须发生在继承下
    2.必须重写父类方法
    3.父类引用调用该方法

    如果一个方法需要一个父类参数,可以给一个子类对象。

  • 相关阅读:
    FirstAFNetWorking
    JSONModel 简单例子
    KVO
    KVC
    关于UITableView的性能优化(历上最全面的优化分析)
    浅拷贝和深拷贝
    UI2_异步下载
    UI2_同步下载
    算法图解学习笔记02:递归和栈
    算法图解学习笔记01:二分查找&大O表示法
  • 原文地址:https://www.cnblogs.com/Strive-count/p/5995832.html
Copyright © 2011-2022 走看看