面向对象学习笔记

属性:

类中定义的变量

方法:

类中的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关键名字可以标明这个方法是抽象方法不需要具体的实现

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,686评论 0 11
  • class ClassName{….ClassDate;….ClassFunc;}ClassName class_...
    CrazyBoomer阅读 311评论 0 0
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,173评论 0 2
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,082评论 0 4