zoukankan      html  css  js  c++  java
  • 面向对象三大特性

    面对对象三大特性
    一:封装。目的:为了这个类更安全
    a.将成员变量变为private;(私有)
    b.在类里面做一个成员方法间接访问;
    c.在该方法里面加限制条件

    class Ren{
    public $name;
    public $sex;
    public $birthday;
    private $age;
    public function setage($age){
    if($age>18 && $age<50){
    $this->age = $age;}
    }
    }
    class Ren{
    public function __set($name,$value){
    $this->name = $value;
    }
    }
    public function__set($name,$value){
    if($name=="age"){
    if($value>=18 && $value<=50){
    $this->name = $value;
    }else{
    $this->name = $value;
    }
    }
    public function __get($name){
    return $this->$name;
    }
    }
    $r = new Ren();
    $r->name = "张三";
    $r->age = ""
    $r->setage(20);
    如果是赋值语句用__set,
    如果是取值语句用__get自动调用魔术方法
    二:继承
    概念:子类可以继承父类的一切
    特点:单继承,一个子类只能有一个父类。一个父类可以有多个子类

    class Ren{
    public $name;
    public $sex;
    public function say(){
    echo "人在江湖啊"
    }
    }
    //extends继承的意思,如何继承。子类可以对父类的函数重写
    class China extends Ren{
    public $yuyan;
    //**函数重写 override**
    //**重载 overload**
    public function test(){
    echo "测试";
    }
    public function test($a){
    echo "测试11111";
    }
    public function test($a,$b){
    echo "测试22222";
    }
    public function say(){
    //相当于调用父类里面的方法
    parent::say();
    echo "你好";
    }
    }
    $c = new China();
    $c->say();
    $c->test(1,2);
    为什么要使用父类来进行编程。
    class suan{
    public $a;
    public $b;
    public function jia(){
    return $a+$b;
    }
    public function jian(){
    return $a-$b;
    }
    }
    三:多态:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在调用该方法
    的时候所表现出的不同,我们称为多态。
    运行多态 编译多

  • 相关阅读:
    .Net 加密原理,HVM核心的实现原理(八)
    .Net中的数字类型四则运算的有趣问题
    DNGuard HVM 中文版 V2.80 发布,优惠活动
    买烟(古龙版)
    .Net的混淆属性以及ildasm限制的简单解除方法
    方程式
    silverlight学习网站
    .NET精品文章系列(一)
    VS 2008 + .NET 3.5系列
    Expression Blend学习网站
  • 原文地址:https://www.cnblogs.com/forqiwen/p/8258328.html
Copyright © 2011-2022 走看看