PHP全栈学习笔记8

PHP全栈学习笔记8_第1张图片

面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。

类,属性和方法,类,对象,面向对象编程的三大特点。特点,封装性,继承性,多态性。

封装性,也可以称为信息隐藏。
继承性就是派生类(子类)自动继承一个或多个基类(父类)中的属性与方法,并可以重写或添加新的属性或方法。
多态性是指同一个类的不同对象,使用同一个方法可以获得不同的结果,这种技术称为多态性。

类的定义,成员方法,类的实例化,成员变量,类常量,构造方法和析构方法,继承和多态的实现,数据的隐藏,静态变量。

类的定义:

成员方法:

类的实例化:

对象名 -> 成员方法

成员变量
类中的变量,也称为成员变量

关键字 成员变量名
对象名 -> 成员变量

类常量
常量就是不会改变的量,是一个恒值。
定义常量使用关键字const
输出格式:

类名::常量名

构造方法和析构方法

void __construct([mixed args [,…]])
void __destruct ( void )

示例:





成员变量


name=$name;
        $this->height=$height;
        $this->avoirdupois=$avoirdupois;
        if($this->height<185 and $this->avoirdupois<85){
            return $this->name.",符合踢足球的要求!";            //方法实现的功能
        }else{
            return $this->name.",不符合踢足球的要求!";           //方法实现的功能
        }
    }
}
$sport=new SportObject();           //实例化类,并传递参数
echo $sport->bootFootBall('1','185','80');                              //执行类中的方法
?>






成员方法


180 and $avoirdupois<=100){
                return $name.",符合打篮球的要求!";          //方法实现的功能
            }else{
                return $name.",不符合打篮球的要求!";         //方法实现的功能
            }
        }
    }
    $sport=new SportObject();
    echo $sport->beatBasketball('1','185','80','20周岁','男');
?>





常量


 object_name = $name;           //设置成员变量值
    }
    function getObjectName(){                   //声明方法getObjectName()
        return $this -> object_name;
    }
}
$c_book = new SportObject();                        //实例化对象
$c_book -> setObjectName("PHP类");               //调用方法setObjectName
echo SportObject::BOOK_TYPE."->";                   //输出常量BOOK_TYPE
echo $c_book -> getObjectName();                //调用方法getObjectName
?>





构造方法


name=$name;                      //为成员变量赋值
        $this->height=$height;                  //为成员变量赋值
        $this->avoirdupois=$avoirdupois;        //为成员变量赋值
        $this->age=$age;                        //为成员变量赋值
        $this->sex=$sex;                        //为成员变量赋值
    }
    public function bootFootBall(){             //声明成员方法
        if($this->height<185 and $this->avoirdupois<85){
            return $this->name.",符合踢足球的要求!";            //方法实现的功能
        }else{
            return $this->name.",不符合踢足球的要求!";           //方法实现的功能
        }
    }
}
$sport=new SportObject('1','185','80','20','男');            //实例化类,并传递参数
echo $sport->bootFootBall();                                //执行类中的方法

?>


析构方法,是对象被销毁时被调用的,作用是释放内存。

void __destruct ( void )




析构方法


name=$name;                      //为成员变量赋值
        $this->height=$height;                  //为成员变量赋值
        $this->avoirdupois=$avoirdupois;        //为成员变量赋值
        $this->age=$age;                        //为成员变量赋值
        $this->sex=$sex;                        //为成员变量赋值
    }
    public function bootFootBall(){             //声明成员方法
        if($this->height<185 and $this->avoirdupois<85){
            return $this->name.",符合踢足球的要求!";            //方法实现的功能
        }else{
            return $this->name.",不符合踢足球的要求!";           //方法实现的功能
        }
    }
    function __destruct(){
        echo "

对象被销毁,调用析构函数。

"; } } $sport=new SportObject('1','185','80','20','男'); //实例化类,并传递参数 //unset($sport); ?>

继承和多态的实现

所有成员变量和方法
构造函数
先调用子类中的方法
去调用父类中的构造方法

class subClass extends superClass{
…
}

多态存在两种形式:覆盖和重载。





继承的实现