php面向对象——类和对象

php面向对象——类和对象

1.类和对象

<?php
//定义一个类:
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;                 //在类外部使用静态属性

?>

构造方法与析构方法

<?php
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">
<?php
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 "<br/>姓名:".$this->name;
        echo "<br/>年龄:".$this->age;
        echo "<br/>学历:".$this->eduction;
    }
}
$teacher1=new Teacher("张三",22,"本科");
$teacher2=new Teacher("李四",23,"研究生");
$teacher1->showAllInfo();
echo "<br>";
$teacher2->showAllInfo();
?>

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

<meta charset="UTF-8">
<?php
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  "<br/>".$this->name."加入本校,当前有".static::$count."个学生";
    }
    function showAllInfo(){
        echo "<br/>姓名:".$this->name;
        echo "<br/>年龄:".$this->age;
        echo "<br/>学历:".$this->sex;
    }
}
$student1=new Student("张三",18,"男");
$student2=new Student("小红",19,"女");
$student1->showAllInfo();
$student2->showAllInfo();
?>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值