面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。
## 1、面向过程与面向对象有什么区别呢?
面向过程就是分析出解决问题所需要的步骤,然后再用函数把这些步骤逐一实现。
面向对象就是把构成问题的事物分解成各个对象,建立对象的目的并不是为了完成某一个 步骤,而是为了
述了某个事物在解决问题过程中的行为。
## 2、面向对象三大特性
主要特征:封装、继承、多态.
**权限修饰符分别有**:
public公有的 protected受保护的 private私有的
public公有的:可以在类外及类内使用;
protected受保护的:可以在子类及本类中使用;
private私有的:只能在本类中使用;
**访问普通成员属性及方法:**
类内:使用$this来进行操作
类外:使用实例化之后的对象$obj来进行操作
例子:
```
/**
* 学生类
*/
class Student
{
//这是学生的4个属性
private $no;
private $name;
private $sex;
private $age;
//构造方法
function __construct($no,$name,$sex,$age)
{
$this->no = $no;
$this->name = $name;
$this->sex = $sex;
$this->age = $age;
}
//自我介绍
public function say(){
printf("自我介绍:我叫%s,年龄:%d",$this->name,$this->age);
}
//析构方法
function __destruct()
{
echo '正在执行析构方法 ';
}
}
//实例化对象
$stu1 = new Student(1001,'张三','男',20);
$stu1->say();
```
总结一下:
__construct: 定义构造方法的关键字
定义构造方法时,可以无参数,也可以有参数,或者多个参数。
$this : 表示当前对象,只有在类的方法中,当访问成员变量(属性)或自己的方法时,才会用到$this
比如:$this->name ,其中的name 实际上就是指属性$name
领取专属 10元无门槛券
私享最新 技术干货