• php面向对象


    面向对象

    类是种类,对象是种类其中的一个,每个对象都互不影响

     

    修饰词

    public     //公共的,在任何位置都可以使用
    protected   //受保护的,只能在当前类或有继承关系的类中使用
    private    //私有的,只能在所在类中使用

     

     

    基本语法

    class classname{  //classname是自定义类名
    public $property;…   //用public声明一个公共标识 然后给予一个变量 变量也可以赋值
    public $v1;
    public $2=2;
    function functionname ( args ){   //类的方法里的成员函数
      执行的代码
    } …
    //类的方法(成员函数) }

     

    生成对象

    1、$对象名1  =  new  类名(); //对象名就是变量名;

    2、$name='classname';

      $name1=new $name();  //可变类(名)

    3、$对象名3 = new  self;   //self指代类本身,这行代码只能在类内部方法中使用

     

    使用形式

    $对象->属性名;

    注意:属性名前面没有$符号

     

    构造方法

    跟javascript里的页面加载一样,只要进入这个类就会从上到下的执行

    class p{
      public $name;  //名字属性
      public $age;  //年龄属性
      function intro(){  //输出的方法
           echo "<br />hi,大家好,我叫".$this->name; 
           echo ",今年".$this->age."岁"; 
        }         
       function __construct($n,$a){  //构造方法
            $this->name=$n;
            $this->age=$a;
        } 
    }
    
    $p=new p('李四',22);
    $p->intro;

    最后输出结果为:hi,大家好,我叫李四,今年22岁

    注意

    子类中没有定义析构方法时,会自动调用父类的析构方法。

    子类定义了自己的析构方法,则不会自动调用父类的析构方法,但可以手动调用:parent::__destruct()

    类的继承

    1. 继承:一个类从另一个已有的类获得其特性,称为继承。

    2. 派生:从一个已有的类产生一个新的类,称为派生。

    3. 继承和派生,其实只是从不同的方向(角度)来表述,本质上就是一个事情。

    4. 父类/子类:已有类为父类,新建类为子类。父类也叫“基类”,子类也叫“派生类”

    5. 单继承:一个类只能从一个上级类继承其特性信息。PHP和大多数面向对象的语言都是单继承模式。C++是多继承。

    6. 扩展:在子类中再来定义自己的一些新的特有的特性信息(属性,方法和常量)。没有扩展,继承也就没有意义了

     

    抽象类

    在正常定义类的前面,加上关键字:abstract,那就构成抽象类

    abstract  class  类名{.....类的定义.....} 

    抽象类的使命是专门做父类”:子类就继承了它的特性,这就是“规范作用”

    就是专门做父类使用的

    抽象方法

    抽象方法是一个没有方法体(也不含大括号)的方法定义“头”而已。前面需要加上abstract

    abstract  function  f1($x1, $y, $m) ;    //注意,后面一定有分号。

    其实跟抽象类一样,配合抽象类,来实现对下级类的“行为规范”。

    即相当于要求下级类去完成该功能(动作),但自己是不做的。

     

  • 相关阅读:
    练习二十七:递归函数应用
    mysql8.0数据库忘记密码时进行修改方法
    格式化字符串两种方式
    练习二十六:阶乘计算(递归)
    练习二十五:阶乘之和计算
    Dapper批量添加
    c# FTP操作类(转)
    c# 依赖注入之---反射(转)
    c# 依赖注入之---setterInjection(转)
    php遍历数组赋值
  • 原文地址:https://www.cnblogs.com/zyfeng/p/10921366.html
Copyright © 2020-2023  润新知