PHP面向对象 实例化 构造函数 封装 继承 静态

面向对象:
一:定义类
class Dog
{
var $name;
var $age;
var $pinzhong;

function Jiao()
{
echo "{$this->name}在叫";
}
}php

二:实例化对象
$dog = new Dog();
调用对象的成员:
$dog->name = "旺财";
$dog->Jiao();html

三:$this关键字
$this->name;this表明该对象,若是要在成员方法中调用成员变量,必定要使用$this找出该成员变量

四:构造函数:
function __construct($n,$a,$p)
{
$this->name = $n;
$this->age = $a;
$this->pinzhong = $p;
}
五:析构函数:
function __destruct()
{
echo "拜拜";
}安全


六:封装:
将类里面的成员变量加一个private修饰符变成私有的,目的是为了保护类里面的成员不被外界随意访问,从而确保类的安全性。若是将变量设置为私有,如何去访问:
1.本身写函数get函数set函数,而后来对变量赋值和取值
2.用系统自带的__get()函数和__set()函数来实现类里面的变量赋值取值
function __set($name,$value)
{
$this->$name = $value;
}
function __get($name)
{
return $this->$name;
}函数

七:继承
继承通常是单继承:一个儿子只能有一个父亲
子类能够继承父类的全部成员
子类能够对父类的成员方法进行重写:(函数名同样),若是要在子类方法中调用父类的方法,用parent::Jiao();
function Jiao()
{
parent::Jiao();

echo "hello";
}
final关键字能够定义该类为最终类,不可被继承

静态:
关键字:static ,若是成员声明了为静态的,那么该成员是属于该类的,不是属于对象的
如何调用静态的成员:
HaShiQi::$height = 10;
HaShiQi::Gao();
用类名加双冒号调用类的静态成员



ui

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>

<?php
    class Dog
    {
        private $name;
        private $age;
        private $pinzhong;
        
        function __construct($n,$a,$p)        //构造函数,两个下划线
        {
            $this->name=$n;
            $this->age=$a;
            $this->pinzhong =$p;
            }
        
        function SetName($n)
        {
            $this->name = $n; 
            }
            
        function SetAge($m)
        {
            if($m>=1 && $m<=5)
            {
                $this->age =$m;
                }
            
            }    
            
        
         function Jiao()
        {
            echo "{$this->name}在叫,它{$this->age}岁了"; //this表明该对象,若是要在成员方法中调用成员变量,必定要使用$this找出该成员变量
            
            }
            
            function __destruct()
        {
            echo "拜拜";
        }


        }
        
        
        
        $dog =new Dog("旺财",10,"金毛");
        
        $dog->SetName("小强");
        
        $dog->SetAge(3);
        
        $dog ->Jiao();
        
        


?>    
</body>
</html>
相关文章
相关标签/搜索