美文网首页
面向对象学习笔记

面向对象学习笔记

作者: Huai | 来源:发表于2016-04-08 16:29 被阅读45次

    属性:

    类中定义的变量
    

    方法:

    类中的function

    在面向过程的程序设计中function叫做函数,在面向对象中function则被称之为方法。
    

    &this

    表示类使用本身的属性或者方法,出现$this表示类自己

    父类的属性,在子类中可用$this访问
    

    访问控制:

    • public在类本身、子类、其他类中都可以访问
    • protect在类本身、子类中可以访问
    • private只能在类本身使用

    static静态成员:

    调用 类名::方法名
    内部调用静态方法和属性时,使用self或static代替$this self::$speed;//访问自身的静态成员
    parent::$speed;//访问父类的静态成员

    注意:访问静态属性时,需要加上$
    

    构造函数__construct()

    创建对象时使用,初始化对象
    调用父类的构造函数:parent::__construct()

    析构函数__destruct()

    某个对象的所有引用被删除,或者对象被显式的销毁时执行

    重写overwrite:

    在子类中编写和父类方法名完全一致的方法

    final:

    添加final关键字能够让这个方法不能在子类中重写
    class之前添加final关键字,此类不被继承
    方法定义前添加final关键字,方法不被重写(修改)
    用parent关键字可以访问父类中被子类重写的方法

    接口

    interface用于定义接口。

    • interface ICanEat{}接口里面的方法只定义,不需要有方法的实现。具体的实现必须在实现类中定义。
    • implements用于表示类实现某个接口。class Human implements ICanEat{}
    • 实现了某个接口之后,必须提供接口中定义的方法的具体实现。
    • 给出一个接口,自己定义类来实现接口,且类中的方法自己定义来实现
    • 不能实例化接口
    • 接口不能创建对象
    • 可用instanceof来判断某个对象是否实现了某个接口
    • 可以用extends让接口继承接口。当类实现子接口时,夫接口定义的方法也需要在这个类里面具体实现。

    类的方法必须有实现,接口的方法必须为空。

    多态

    公开课视频:多态

    相同的一行代码,对于传入不同的接口的实现的对象的时候,表现是不同的,这即是多态。

    抽象类

    abstract

    <?php
        abstract class ICanEat{
        abstract public function eat($food);
    
        public function breath(){
            echo "Breath use the air. \n";
        }
    }
    ?>
    

    abstract在抽象方法前面添加abstract关键名字可以标明这个方法是抽象方法不需要具体的实现

    抽象类中可以包含普通的方法

    继承抽象类的子类需要实现抽象类中定义的抽象方法

    相关文章

      网友评论

          本文标题:面向对象学习笔记

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