zoukankan      html  css  js  c++  java
  • PH面向对象

      1 <?php
      2 
      3 
      4 //面向过程
      5 /*
      6 $r=5;
      7 $m=3.14*$r*$r;
      8 */
      9 
     10 //类和对象
     11 //对象:任何东西都可以成为对象,类实例化出来的东西(相当于题)
     12 //类:对所有同类的对象抽象出来的东西(有共同特征的)(相当于公式)
     13 
     14 //info:Code,Name,Sex,Nation,Birthday
     15 //对象:一条具体的信息 p001 张三 男  汉族 1990-2-3
     16 
     17 //定义类
     18 
     19 class Ren
     20 {
     21     const n=20;//将某些类里面常用到的东西定义为常量,方便使用
     22     public static $class; //static 关键字定义静态成员
     23     public $Name;    //成员变量
     24     protected $age;
     25     private $height;
     26     var $sex; //一般不要给成员变量赋值
     27     
     28     function __construct($s)  //构造函数,可以不写
     29     {
     30         $this->sex=$s;
     31     }
     32 
     33     
     34     function Run()  //成员函数(方法)
     35     {
     36         echo "这个人正在奔跑!";
     37     }
     38     function Say()
     39     {
     40         echo self::$class;   //普通方法里面可以调用静态成员
     41         echo $this->Name."正在说话";
     42     }
     43     
     44     function GetSex()
     45     {
     46     return $this->sex;    
     47     }
     48     
     49     
     50     function SetSex($s)
     51     {
     52     $this->sex    =$s;
     53     }
     54     
     55     function __set($n,$v)
     56     {
     57         $this->$n =$v;
     58     }
     59     
     60     function __get($n)
     61     {
     62         return $this->$n;
     63     }
     64     
     65     static function test()  //静态方法
     66     {
     67         echo self::$class;  //调用自身类里面的静态成员
     68         echo "静态方法";
     69     }
     70     
     71 }
     72 
     73 
     74 //使用类
     75 //1.实例化对象  $r是对象
     76 //$r =new Ren("男");
     77 //2.给成员变量赋值(调用成员变量)
     78 //$r->Name ='张三'; // 给对象Name赋值
     79 //3.调用成员方法
     80 //$r->Say();   //执行成员方法
     81 
     82 //var_dump($r);
     83 
     84 //$this引用
     85 //$this代表该对象(那个对象调用代表哪个对象),不是代表该类
     86 
     87 //访问修饰符
     88 //1.如果要加访问修饰符需要去掉
     89 //2.三种:public 公有的   protected 受保护的   private  私有的
     90 //3.如果不加访问修饰符 默认是public
     91 
     92 //构造函数   function __construct(){}  两道下划线
     93 //1.写法特殊
     94 //2.执行特殊:在造对象的时候最先执行
     95 //3.作用:对对象进行初始化操作
     96 
     97 
     98 
     99 //三大特性
    100 //封装:
    101 //目的:为了让类更加安全,避免外界直接访问成员变量
    102 //做法:1.把成员变量变为私有的
    103 //2.通过方法(函数)来间接的操作成员变量
    104 
    105 //继承
    106 //如果要继承需要有子类出现
    107 //概念:如果一个类有子类,那么该子类会继承父类的一切东西(私有的成员访问不到)
    108 //在定义自累的时候需要加一个关键字:extends
    109 //特点:单继承,一个类只能有一个父类
    110 //如果父类中有构造函数,子类在实例化的时候要按照父类构造函数的标准来实例化
    111 //子类对父类方法的重写:在子类中写一个同样的方法
    112 //final:用来修饰类,代表该类是一个最终类,该类无法被继承
    113 
    114 
    115 
    116 class Test extends Ren
    117 {
    118     public $birthday;
    119     
    120     function Run()
    121     {
    122     echo "run";    
    123     }
    124     
    125     function Say()
    126     {
    127     parent::Say();  //调用父类的Say()方法
    128     echo "你好";    
    129     }
    130 }
    131 Ren::$class="0305";
    132 $t= new test("女");
    133 $t->Name="张三";
    134 $t->Say();
    135 echo ren::$class;//访问静态成员 类加双冒号
    136 echo Ren::test();
    137 $t->__set("height","10");
    138 //静态成员
    139 //类里面的普通成员是属于对象的,不是属于类的(调用的时候是用对象来调用的)
    140 //什么叫做静态的:静态成员是属于类的,不是属于每个对象的
    141 //定义静态成员用static关键字修饰
    142 //静态方法里面无法调用普通成员
    143 //静态方法可以调用静态成员,使用self关键字来调用
    144 //self代表该类,$this 代表该对象
    145 
    146 
    147 
    148 
    149 
    150 ?>
  • 相关阅读:
    XGBoost,GBDT原理详解,与lightgbm比较
    开机或联网时自启动gunicorn
    mac下查看jdk安装版本及安装目录
    Linux常用操作
    ssh远程登录出现Host key verification failed.解决办法
    gunicorn运行显示connection in use解决办法
    nginx,gunicorn常用命令
    Git入门--创建版本库,关联远程库,从远程库下载
    【新手向】阿里云上ubuntu+flask+gunicorn+nginx服务器部署(二)项目部署
    系统护肤+身体
  • 原文地址:https://www.cnblogs.com/zbxiaoxu/p/5441846.html
Copyright © 2011-2022 走看看