zoukankan      html  css  js  c++  java
  • 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) ;    //注意,后面一定有分号。

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

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

     

  • 相关阅读:
    年末反思
    Flink运行时架构
    Phoenix 启动报错:Error: ERROR 726 (43M10): Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.
    Clickhouse学习
    Flink简单认识
    IDEA无法pull代码到本地,Can't Update No tracked branch configured for branch master or the branch doesn't exist.
    第1章 计算机系统漫游
    简单的 Shell 脚本入门教程
    开源≠免费 常见开源协议介绍
    MySQL 视图
  • 原文地址:https://www.cnblogs.com/zyfeng/p/10921366.html
Copyright © 2011-2022 走看看