php面向对象介绍
一、概述
1.介绍
2.面向对象的好处
3.类和对象
二、在PHP中实现类和对象
1.创建类
2.对象实例化
3.对象的比较
4.属性
5.方法
6.访问修饰符
<?php
//访问修饰符
class Student {
private $name; //私有属性
private $sex; //私有属性
//通过公有的方法对私有的属性进行赋值
public function setInfo($name,$sex) {
if($sex!='男' && $sex!='女'){
echo '性别必须是男或女';
exit;
}
$this->name=$name; //$this表示当前对象
$this->sex=$sex;
}
//显示信息
public function getInfo() {
echo '姓名:'.$this->name,'<br>';
echo '性别:'.$this->sex,'<br>';
}
}
//实例化
$stu=new Student;
$stu->setInfo('tom','男');
$stu->getInfo();
echo '<hr>';
$stu2=new Student;
$stu2->setInfo('berry','女');
$stu2->getInfo();
7.类和对象在内存中的分布
8.封装
9. 构造方法
介绍
构造函数作用:初始化成员变量
10.析构方法
介绍
计算机的内存管理
三、继承
1.继承介绍
2.子类中调用父类成员
3.protected
//例题一:
<?php
class A {
protected $num=10; //在整个继承链上访问
}
class B extends A {
public function getNum() {
echo $this->num;
}
}
//测试
$obj=new B(); //整个继承链上有A和B
$obj->getNum(); //10
//例题二:
<?php
class A {
public function getNum() {
echo $this->num;
}
}
class B extends A {
protected $num=10;
}
//测试
$obj=new B(); //整个继承链上有A和B
$obj->getNum(); //10
//例题三:
<?php
class A {
public function getNum() {
echo $this->num;
}
}
class B extends A {
protected $num=10;
}
//测试
$obj=new A(); //整个继承链上只有A
$obj->getNum(); //Notice: Undefined property: A::$num
4.继承中的构造函数
5.$this详解
6.多重继承
四、多态
1.方法重写
2.方法重载
五、私有属性继承和重写
六、方法修饰符
方法修饰符有:static、final、abstract
1.static【静态的】
2.final【最终的】
3.abstract【抽象的】