您的位置 首页 php

重蔚php学习第三十八天笔记——继承重载OOP的三大特征

OOP 的三大特征

封装,继承, 多态

封装:将数据和对数据的操作捆绑到一起。隐藏了数据以及数据的处理,但是对外提供了操作的接口(公共的方法)

封装是可以分层次的。

继承:指的是当封装的层次低于某个层次的时候,低层次的封装可以直接从高层次的封装(class)去获得其已经拥有的属性或者方法。

多态:多种形态。在面向对象里,可以存在多个同名的方法,要求每个方法的参数列表或者返回值类型不一样。(PHP不支持多态)

重载 :对一个同名函数,使用不同的实现方式

PHP:错误的

class Person{

public function zuocao(小学生){

小学生做操

}

public function zuocao(){

做操

}

}

JAVA :正确

class Person{

public string function zuocao(){

return 字符串;

}

public Int function zuocao(){

return 整型;

}

Public int function zuocao(int str){

return str;

}

}

PHP继承

语法:class 子类 extends 父类

子类:继承其他类的类称之为子类。

父类:封装的最高层的类,被继承的类称之为父类。

继承到底继承了哪些东西?

继承了属性,非私有的方法(普通的)

属性继承:

方法继承:

protected:受保护的,指的是在继承链上,都可以在另外的类(不论子类和父类)都可以使用受保护的方法或者属性

继承和访问的原理

继承冲突

子类中有与父类相同的属性或者方法,那么这个时候就出现了继承冲突。

重写:overwrite,子类拥有与父类同名的属性或者方法。意味着一个类中只有一个改名字的方法。

注意

1.如果父类的的方法是私有的,那么子类拥有同名方法的时候,不是重写

2.重写父类方法的时候,子类里面的访问修饰限定符必须要比父类的级别低

单继承

PHP中一个子类只能继承自一个父类

错误

如果非要继承多个类,是可以做到的。链式继承。

特殊类:不能被继承的类,只能被继承的类

final类:当前类已经是最末尾的了

语法:Final class 类名

final的意义:不希望当前类还被别的类继承。防止类被扩展。

final还能修饰方法,表示方法不能被重写

final关键字只能修饰类和方法,不能修饰属性。

abstract 类: 抽象类 ,只能被继承

语法:abstract class 类名

抽象类指的是拥有抽象方法

抽象方法:使用abstract关键字修饰,没有方法体的方法

实例化 抽象类

继承自抽象类的子类必须实现抽象类里的抽象方法(或者将当前子类也声明成抽象类)

抽象类中可以有哪些东西?

凡是正常类出现的东西(属性,方法和常量)都可以在抽象类中出现。

抽象类的意义?

1.抽象类只能被继承,用来规范子类的结构。

文章来源:智云一二三科技

文章标题:重蔚php学习第三十八天笔记——继承重载OOP的三大特征

文章地址:https://www.zhihuclub.com/78196.shtml

关于作者: 智云科技

热门文章

网站地图