• 1、面向对象上课笔记。。。


      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      2 <html xmlns="http://www.w3.org/1999/xhtml">
      3 <head>
      4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      5 <title>无标题文档</title>
      6 </head>
      7 
      8 <body>
      9 <?php
     10 //面向对象
     11 
     12 /*class  ren
     13 {
     14   public $name;  //一旦成员属性有其他的关键字修饰就需要去掉"var"
     15   public $sex;        //第二个成员属性$sex定义人的性别,此属性被封装了
     16   public  $age;*/
     17   
     18 //访问成员变量的的方法。。。封装
     19 
     20 //封装简便方法赋值   __set()方法
     21 
     22 /*public function __set($name,$value)
     23 {
     24     if($name=="age")
     25     {
     26         if($value>18&&$value<80)
     27         {
     28         $this->name=$value;    
     29         }
     30     }
     31     
     32     $this->$name=$value;
     33     
     34 }
     35 //封装,简便方法获取值  __get()方法
     36 
     37 public function __get($name)  //
     38 {
     39     return $this->$name;
     40 }
     41 
     42 
     43  public  function say()
     44 {
     45 echo $this ->name."这个人在说话";  //$this 表示调用对象
     46 }
     47 
     48 //构造函数
     49 function __construct([参数列表])  //构造方法名称是以两个下划线开始的__construct()
     50 {
     51     //方法体,通常用来对成员属性进行初始化赋值
     52 }
     53 
     54 function __construct($name,$sex)
     55 {
     56     $this->name=$name;
     57     $this->sex=$sex;
     58 }
     59 
     60 //析构函数,在对象快要销毁时自动调用,可以在里面进行释放,关闭连接等
     61 function __destruct()
     62 {
     63 echo "该对象快要销毁了";  //方法体,通常用来完成一些在对象销毁前的清理任务    
     64     
     65 }
     66 
     67 
     68 }
     69 
     70 //final关键字,用来修饰类,如果被定义则无法被继承了
     71 
     72 
     73 
     74 $ren=new ren("李四","女");
     75 /*$ren->name="张三";
     76 $ren->sex="女";*/
     77 //$ren->say();
     78 //
     79 //$ren->$name="妞妞";*/
     80 
     81 //继承
     82 /*class student extends ren   //声明一个学生类,使用extends 关键字扩展(继承)ren类
     83 {
     84     //重写父类方法
     85     
     86     
     87     function say()
     88     {
     89         
     90         parent ::say1();
     91        echo "这是子类中的方法";    
     92     }
     93 }
     94 $stu=new student ("张三","男");
     95 echo $stu->name;*/
     96 
     97 //访问类型控制3个  修饰符: 1、public(公有的访问) 2、private (私有的访问) 3、protected (保护的访问)
     98 
     99 
    100 class Person
    101 
    102 {
    103 
    104     //下面是人的成员属性
    105 
    106     var $name; //人的名子
    107 
    108     var $sex; //人的性别
    109 
    110     var $age; //人的年龄
    111 
    112 
    113     //下面是人的成员方法
    114 
    115     function say() { //这个人可以说话的方法
    116 
    117         echo "这个人在说话<br>";
    118 
    119     }
    120 
    121  
    122 
    123     function run() { //这个人可以走路的方法
    124 
    125         echo "这个人在走路<br>";
    126 
    127     }
    128 
    129 }
    130 
    131  
    132 
    133 $p1=new Person();
    134 
    135 $p2=new Person();
    136 
    137 $p3=new Person();
    138 
    139 // 下面三行是给$p1对象属性赋值
    140 
    141 $p1->name = "张三";
    142 
    143 $p1->sex = "男";
    144 
    145 $p1->age = 20;
    146 
    147 
    148 // 下面三行是访问$p1对象的成员属性
    149 
    150 echo "p1对象的名子是:" . $p1->name;
    151 
    152 echo "p1对象的性别是:" . $p1->sex;
    153 
    154 echo "p1对象的年龄是:" . $p1->age;
    155 
    156  
    157 
    158 // 下面两行访问$p1对象中的方法
    159 
    160 $p1->say();
    161 
    162 $p1->run();
    163 
    164  
    165 
    166 // 下面三行是给$p2对象属性赋值
    167 
    168 $p2->name = "李四";
    169 
    170 $p2->sex = "女";
    171 
    172 $p2->age = 30;
    173 
    174  
    175 
    176 // 下面三行是访问$p2对象的属性
    177 
    178 echo "p2对象的名子是:" . $p2->name;
    179 
    180 echo "p2对象的性别是:" . $p2->sex;
    181 
    182 echo "p2对象的年龄是:" . $p2->age;
    183 
    184  
    185 
    186 // 下面两行访问$p2对象中的方法
    187 
    188 $p2->say();
    189 
    190 $p2->run();
    191 
    192  
    193 
    194 // 下面三行是给$p3对象属性赋值
    195 
    196 $p3->name="王五";
    197 
    198 $p3->sex="男";
    199 
    200 $p3->age=40;
    201 
    202  
    203 
    204 // 下面三行是访问$p3对象的属性
    205 
    206 echo "p3对象的名子是:" . $p3->name;
    207 
    208 echo "p3对象的性别是:" . $p3->sex;
    209 
    210 echo "p3对象的年龄是:" . $p3->age;
    211 
    212 // 下面两行访问$p3对象中的方法
    213 
    214 $p3->say();
    215 
    216 $p3->run();
    217 
    218 
    219 
    220 //类的声明
    221 /*[一些修饰类的关键字]class 类名  
    222 {
    223     类中成员:
    224     }  
    225     
    226     */
    227 class phone
    228 {    //声明电话的4个有关的成员属性
    229     var $waiguan;
    230     var $color;
    231     var $battery;
    232     var $pindax;
    233     
    234     //以下成员方法是电话的有关成员属性
    235     function call()
    236     {
    237         echo "正在打电话";    //方法体,
    238         }
    239     function message()
    240     {
    241     echo "正在发信息";    
    242     }
    243     function playmusic()
    244     {
    245     echo "正在播放音乐";    
    246     }
    247     function photo()
    248     {
    249     echo "正在拍照";    
    250     }
    251 }
    252 //实例化对象
    253 //$变量名=new 类名称 ([参数数列表]); 或 $变量名 =new 类名称;
    254 
    255 $person1=new person();  //创建第一个person类对象,引用名为$person1
    256 $person2=new person();   //创建第二个。。。
    257 $person3=new person();
    258 
    259 $phone1=new phone();
    260 $phone2=new phone();
    261 $phone3=new phone();
    262 
    263 //对象中成员的访问
    264 //$引用名 =new 类名称 ([参数数列表]);
    265 //
    266 //$引用名 ->成员属性 =值;
    267 //echo $引用名 ->成员方法;
    268 
    269 //$引用名 ->成员方法;
    270 
    271 //常见的关键字3个。。(final、static、const、、、)
    272 //final :不能使用它标识成员属性
    273 //static:使用格式  类名 ::静态成员属性名
    274 //                类名 ::静态成员方法名();      
    275 
    276 
    277 
    278 ?>
    279 </body>
    280 </html>
  • 相关阅读:
    ubuntu搭建GitLab
    inline,inline-block,block元素的区别
    ES6入门学习
    webpack配置
    angular6之路由
    angular6之Http服务
    angular6之http请求拦截器
    Spring Cloud(6.2):搭建OAuth2 Client
    Spring Cloud(6.1):搭建OAuth2 Authorization Server
    keytool命令的使用
  • 原文地址:https://www.cnblogs.com/as1234as/p/5304672.html
Copyright © 2020-2023  润新知