php 对象 属性 方法(老雷PHP全栈开发教程之类与面向对象学习)PHP教程 / PHP类与对象...

wufei123 发布于 2024-06-17 阅读(4)

老雷PHP全栈开发教程之类与面向对象学习不支持的音频/视频格式请试试刷新重播播放00:00/00:00直播00:00进入全屏0点击按住可拖动视频一、面向对象概念1.概念面向对象(Object Oriented,OO)其是以对象模型为基础进行的抽象过程,并在应用过程中形成了描述自己的抽象概念定义,包括对象、类、封装、继承以及多态等。

2.面向对象的三大特性1、封装隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性2、继承提高代码复用性;3、多态父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。

php 对象 属性 方法(老雷PHP全栈开发教程之类与面向对象学习)PHP教程 / PHP类与对象...

提高了程序的拓展性二、类与对象类通过class声明对象是类的实例化class A{public function cc(){}function aa(){}}class girl extends A{function aa($a,$b){

}function dd(){}}$a=new A();类的元素属性 常量 const constant = constant value; A::constant;static 静态属性和方法构造函数和析构函数 __construct() __destruct exit();

方法实例化 new A();继承 extends三、访问方法$this->self::test();parent::test();A::static_test();四、访问控制与类型public 公有的 都可访问

private 私有的 不可访问 不可继承protected 受保护的 不可访问 可继承static 可以直接使用 class::static 不能使用this self::final 如果父类中的方法被声明为 final,则子类无法覆盖该方法。

如果一个类被声明为 final,则不能被继承 五、抽象类PHP支持抽象类和抽象方法定义为抽象的类不能被实例化任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。

继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更为宽松)六、对象接口接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。

接口中定义的所有方法都必须是公有,这是接口的特性要实现一个接口,使用 implements操作符,类中必须实现接口中定义的所有方法,否则会报一个致命错误类可以实现多个接口,用逗号来分隔多个接口的名称 。

####接口和抽象类的区别:(1)抽象类可以有构造方法,接口中不能有构造方法(2)抽象类中可以有普通成员变量,接口中没有普通成员变量(3)抽象类中可以包含静态方法,接口中不能包含静态方法(4) 一个类可以实现多个接口,但只能继承一个抽象类。

(5)接口可以被多重实现,抽象类只能被单一继承(6)如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法七、TraitTrait 是为类似 PHP 的单继承语言而准备的一种代码复用机制,通过use关键字引入到类中。

从基类继承的成员会被 trait 插入的成员所覆盖优先顺序是来自当前类的成员覆盖了 trait 的方法,而 trait 则覆盖了被继承的方法通过逗号分隔,在 use 声明列出多个 trait,可以都插入到一个类中。

八、匿名类PHP 7 开始支持匿名类 匿名类可以在直接使用的地方创建一次性的简单对象九、对象复制 对象复制可以通过 clone 关键字来完成(如果可能,这将调用对象的 __clone() 方法)对象中的 __clone() 方法不能被直接调用。

在多数情况下,我们并不需要完全复制一个对象来获得其中属性但有一个情况下确实需要:如果你有一个 GTK 窗口对象,该对象持有窗口相关的资源你可能会想复制一个新的窗口,保持所有属性与原来的窗口相同,但必须是一个新的对象(因为如果不是新的对象,那么一个窗口中的改变就会影响到另一个窗口)。

十、对象和引用 在 PHP 5,一个对象变量已经不再保存整个对象的值只是保存一个标识符来访问真正的对象内容 当对象作为参数传递,作为结果返回,或者赋值给另外一个变量,另外一个变量跟原来的不是引用的关系,只是他们都保存着同一个标识符的拷贝,这个标识符指向同一个对象的真正内容。

十一、类的自动加载spl_autoload_register() 函数可以注册任意数量的自动加载器,当使用尚未被定义的类(class)和接口(interface)时自动去加载通过注册自动加载器,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。

课后练习实现一个关于人的接口 抽象类 基础类 继承类。 人五官接口打扮 男孩 女孩

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻37892