php 对象 封装继承多态

php 一个文件 可以写多了类,和java不一样啊

class Person {

private $name ;
pritvate $age;

public doAction(){

}
}

1封装

封装 的意 把数据和方法 放到一起进行管理 ,当然php放到一个类。
当然怎么管理 通过权限管理

php 有三种权限。

private
public
protected

private 只有本类 可以访问

protected 只有本类 和子类 可以访问

public 本类 子类 还有外部都可以方法。

各个语言不全 相同 比如java
类内部 package内 子类 其他
public 允许 允许 允许 允许
protected 允许 允许 允许 不允许
default 允许 允许 不允许 不允许
private 允许 不允许 不允许 不允许

对比讲

java有 一个文件只能放一个类, 所有有了包的概念 package.报可以通俗的理解 就是类的路径。

public
protected
private
和php是一样的
php默认 是 public java默认不是。

2继承

class Person {

private $name ;
pritvate $age;

public doAction(){

}
}

class Student extend Person {

}

继承包含的意思
子类拥有 父有的方法 和变量,
当然是所有的吗 当然不是 pirvate 是不能继承。只有 public protected
还有一些特殊的函数 构造 函数 析构函数。

多态

在封装中

多态
在java中 包含 重写 和重载
在php 只有一个重写功能
先讲概念

重载
java是可以
function action1(aa)
function action1(aa,bb)

php上面形式 是可以可以

重写

子类 和父类方法名一样

php支持上面类型

怎么访问 父类方法名

写法如下
两种写法 建议下面一种

父类::action1
parent:action1

多态和封装关联一下

php是要求子类应该比父类权限大 ,当然java也是这样的

父类
protected action1

子类可以是

protected action1
bublic action1

子类下面是错我的
private action1

posted on 2017-01-24 10:17  php超超  阅读(160)  评论(0编辑  收藏  举报