面向对象的程序设计(英语:Object-oriented programming,缩写:OOP)
1、类 :定义了一类事物的抽象特点。
2、对象:是类的实例。
3、创建对象:
对象名字 = new 类名();
4、成员变量:定义在内部的变量,在类被实例化为对象后,该变量即可称为的属性。
5、成员函数:定义在内部,可用于访问对象的数据。(行为:run、read..)
<?php
//自定义 汽车类
class Car{
//成员变量
var $name;//名字
var $color;//颜色
/成员函数 /
function run(){
echo $this -> color . $this -> name . "在行驶";
}
}
//$m 汽车类 Car产生的对象实例
$m1 = new Car();
//给对象变量赋值
$m1 ->name = "小鹏汽车";
$m1 ->color = "红色";
$m1 -> run();
?>
构造函数:是一种特殊的函数。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
( __construct定义构造函数)
<?php
class stu{
var $name;
var $age;
//构造函数 用来创建对象时初始化对象,即为对象成员变量赋初始值
function __construct($n,$a){
$this->name=$n;
$this->age=$a;
}
function read(){ echo "年龄" .$this->age."的".$this->name."在读书"; } } //创建一个 Stu类的 学生对象实例 $s1 = new stu("李华",20); $s1->read();
?>
继承:
PHP 使用关键字 extends 来继承一个类,PHP 不支持多继承
class Child(子类) extends Parent(父类) {
// 代码部分
}
方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
<?php
class Car{
//成员变量
var $name;
var $color;
/成员函数 /
function run(){
echo $this -> color . $this -> name . "在行驶";
}
}
//定义了Bus继承了Car
class bus extends Car{
var $count;
/成员函数 /
//方法重写
function run(){
echo "载客量".$this->count . $this -> color . $this -> name . "在行驶";
}
} //创建一个Bus类的Bus对象 $bus = new Bus(); $bus->name = "56路公交车"; $bus->color = "蓝色"; $bus->count = "30"; $bus->run(); //打印 带有父类的对象
// var_dump($bus);
?>
<?php
class animal{
//成员变量 属性
var $name;
var $color;
//成员函数 方法 function run(){ echo $this->color."的".$this->name."在跑"; } } class Dog extends animal{ var $age; //重写 子类 父类 //方法名一样 function run(){ echo "年龄". $this->age. "岁的" .$this->color."的".$this->name."在跑"; } } $d = new Dog(); $d->name = "旺财"; $d->color = "黄色"; $d->age = 5; $d = new sheep(); $d->name = "小白"; $d->color = "白色"; $d->age = 6; $d->run();
?>
问题:请编写一个计算器类。
描述:类中有两个成员变量表示操作数,通过类的构造方法可以为成员变量赋值。当调用“加法”成员方法时返回两个操作数相加的结果。同理,再实现“减法”、“乘法”和“除法”。
<?php
class Calculator{
var $number1;
var $number2;
function addition()//加法 { echo $this->number1."+".$this->number2."=".($this->number1+$this->number2); } function subtraction()//减法 { echo $this->number1."-".$this->number2."=".($this->number1-$this->number2); } function multiplication()//乘法 { echo $this->number1."*".$this->number2."=".$this->number1*$this->number2; } function division()//除法 { echo $this->number1."/".$this->number2."=".$this->number1/$this->number2; } } $num = new Calculator(); $num->number1 = 100; $num->number2 = 20; var_dump($bus); $num->addition(); echo"<br>"; $num->subtraction(); echo"<br>"; $num->multiplication(); echo"<br>"; $num->division();
?>
php面向对象
© 著作权归作者所有
发表评论