• PHP面向对象的三大特征操作——封装、继承、多态(上)


    <?php
    //三大特征:封装、继承、多态
     //封装做法:
    1.将成员变量变为私有
    2.在类中做方法间接操作成员变量
    3.在方法里加控制条件
    //封装目的:使类更加安全
    /* class Ren{
        public $name;
        private $age;//将变量变为私有 */

    //第一种方式做方法
         public function setage($a){//赋值
            if($a>=18 && $a<=50){
                $this->age = $a;
            }else{
                echo "该年龄不在范围内";
            }
        }
        public function getage(){//取值
            return $this->age;
        }


       //通用方法间接操作成员变量


        //给变量赋值的魔术方法
         public function __set($k,$v){//做一个函数间接操作
            $this->$k = $v;
        }
        //取变量赋值的魔术方法
        public function __get($k){
            return $this->$k;
        }
    }
    $s = new Ren();//造的第一个对象

    第一种方法的赋值、取值输出
    $s->setage(18);
    var_dump($s);
    echo $s->getage();


    第一种方法的赋值、取值输出(通用)
    //封装第一种赋值输出
    /* $s->__set("age",20);
    var_dump($s); */

    //封装第二种赋值输出
    /* $s->age = 20;
    var_dump($s); */

    //取值输出
    /* $s->age = 20;
    echo $s->age; */

    面向对象实例

    eg:一个大圆里面含有一个小圆,大圆半径为10,小圆半径为5,求大圆减去小圆的面积。

    class circle{
        public $r;
        public $area;
        public $cir;
        public function area(){
            return 3.14*$this->r*$this->r;
        }
        public function cir(){
            return 2*3.14*$this->r;
        }
        public function __construct($r){
            $this->r = $r;
        }
        
    }
    $r1 = new circle(10);//造第一个圆
    $r2 = new circle(5);//造第二个圆
    $area = $r1->area()-$r2->area();
    echo "$area<br>";
    $cir = $r1->cir()-$r2->cir();
    echo $cir;

    ?>

  • 相关阅读:
    仪仗队
    疫情控制
    Code
    距离咨询
    舒适的路线
    桐桐的糖果计划
    跑路
    最短路计数
    骑马修栅栏
    搭桥
  • 原文地址:https://www.cnblogs.com/jly144000/p/7429812.html
Copyright © 2020-2023  润新知