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>

 

posted on 2016-03-22 08:56  悠悠小花  阅读(205)  评论(0编辑  收藏  举报