1、什么是面向对象
起初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是,
这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方
面。如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计
(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现
(OOP,Object Oriented Program)。
类的概念:类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。
对象的概念:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。
面向对象的要素
1. 抽象性 , 2. 封装性 ,3.共享性 ,4. 强调对象结构而不是程序结构
面向对象的三大特点(封装,继承,多态)缺一不可
例子:
<?php
class Gun{
public $color;
public $weight;
public $type;
public $sound;
function kill(){
return "张三用".$this->color."颜色".$this->weight."重的".$this->type."把奥巴驴杀了";
}
function sound(){
return "发出".$this->sound."的声音";
}
}
$people=new Gun();
$people->color="黑色";
$people->weight="100斤";
$people->type="51冲锋";
$people->sound="biubiu";
echo $people->kill();
echo $people->sound();
?>