php面向对象——类和对象

php面向对象——类和对象

1.类和对象


//定义一个类:
class A{
    public $name="John";           //定义一个普通属性
    static $age=18;                    //定义一个静态属性
    const PI=3.14;                  //定义一个常量

    /*定义一个普通方法*/
    function print_name(){
        echo $this->name;          //在类内部使用属性
    }
    /*定义一个静态方法*/
    static function print_age(){
        echo static::$age;          //在类内部使用静态属性
    }
}
$A=new A();                   //创建一个对象的第一种形式
$v1="A";                     //创建一个对象的第二种形式
$A=new $v1();
$A->name;                   //在类外部使用属性
$A->print_();                //在类外部使用方法
A::print_age();                //在类外部使用静态方法
A::$age=22;                 //在类外部使用静态属性

?>

构造方法与析构方法


class A{
    public $name=;
    public $age;
    /*定义一个构造方法,实例化传入参数*/
    function __construct($name,$age){
        $this->name=$name;
        $this->age=$age;
    }
    /*定义一个析构方法
    说明:
    1,析构方法是一个特殊的方法,名字为固定的词:_ _desctruct
    2,析构方法是在一个对象被“销毁”的时候会自动被调用的方法——我们无法调用它;
    3,析构方法不能带参数(形参),但方法中也可以使用$this这个词,代表“当前对象”;
    4.销毁的顺序一般情况下遵循栈结构
*/
    function __destruct(){
        $this->name;
    }
}
$A=new A("John",24);
?>

综合实例:
1.定义一个“教师类”,并由此类实例化两个“教师对象”。
该类至少包括3个属性,其中有个方法是“自我介绍”,就能够把自身的所有信息显示出来。

<meta charset="utf-8">

class Teacher{
    private $name;
    private $age;
    private $eduction;
    function __construct($name,$age,$eduction){
        $this->name=$name;
        $this->age=$age;
        $this->eduction=$eduction;
    }
    function showAllInfo(){
        echo "
姓名:"
.$this->name; echo "
年龄:"
.$this->age; echo "
学历:"
.$this->eduction; } } $teacher1=new Teacher("张三",22,"本科"); $teacher2=new Teacher("李四",23,"研究生"); $teacher1->showAllInfo(); echo "
"
; $teacher2->showAllInfo(); ?>

2.定义一个“学生类”,并由此类实例化两个“学生对象”。该类包括姓名,性别,年龄等基本信息,并至少包括一个静态属性(表示总学生数)和一个常量,以及包括构造方法和析构方法。该对象还可以调用一个方法来进行“自我介绍”(显示其中的所有属性)。构造方法可以自动初始化一个学生的基本信息,并显示“xx加入本校,当前有xx个学生”。

<meta charset="UTF-8">

class Student
{
    private $name;
    private $age;
    private $sex;
    static $count=0;                //计数器思想
    function __construct($name, $age, $sex)
    {
        $this->name = $name;
        $this->age = $age;
        $this->eduction = $sex;
        static::$count++;
        echo  "
"
.$this->name."加入本校,当前有".static::$count."个学生"; } function showAllInfo(){ echo "
姓名:"
.$this->name; echo "
年龄:"
.$this->age; echo "
学历:"
.$this->sex; } } $student1=new Student("张三",18,"男"); $student2=new Student("小红",19,"女"); $student1->showAllInfo(); $student2->showAllInfo(); ?>

你可能感兴趣的:(php,oop编程)