- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息系统开发平台09_类和对象剖析
掌握PHP中的类和对象
成员变量和成员方法
对象作为方法参数
构造方法
this的使用
其他关于面向对象的引申
学习目标
13届信管卓越班共有29名学生,每名学生都拥有学号,姓名,学分,年龄,手机号,身高等诸多属性。
请编写程序,当输入学生的学号时,显示该学生的所有属性。
一个程序即一个世界
PHP初期并不支持面向对象编程,随着计算机语言趋向接近人的思维方式的演变,PHP之父Rasmus Lerdorf在设计PHP4时,引入了面向对象的思想。
在PHP5中就全面支持面向对象编程了!
类和对象
class Student{
public $stuNo;
public $stuName;
public $age;
}
类和对象
类名:首字母大写,其余字首字母大写
属性名:首字母小写,其余字首字母大写
public:访问修饰符,表示对所有调用者公开
一般一个类会单独存在于一个文件中,命名为*.class.php
$stu1 = new Student();
$stu1-stuNo=1;
$stu1-stuName=fan;
echo $stu1-stuName;
类和对象
$stu1即为对象名,同时是一个变量,对象变量
new 类名,后面的()可要可不要
对属性赋值时,需要使用-
属性名前不能再写$,否则报致命错误
类是抽象的,代表一类事物,比如人类,学生类,可以理解为模板
对象是具体的,实际的,代表一个具体事物,由类创建
类和对象
成员变量(属性):一般是基本数据类型(数值,字符串,布尔),也可是复合类型(类、数组)。例:
class Student{
public $stuNo;
public $stuName;
public $lover;
}
类和对象
?php
class Stu{
public $name;
}
$s1 = new Stu();
$s1-name=aa;
$s2 = $s1;
echo $s2-name;
?
对象赋值及传递
?php
class Stu{
public $name;
}
$s1 = new Stu();
$s1-name=aa;
$s2 = $s1;
$s2-name=bb;
echo $s1-name;
?
对象赋值及传递
PHP中,对象赋值、传递,默认传递的是地址,即内存引用
对象赋值及传递
基本类型传递的是什么?
对象赋值及传递
?php
class Stu{
public $name;
}
function changeName($stu){
$stu-name=haha;
}
$s1 = new Stu();
$s1-name=aa;
changeName($s1);
echo $s1-name;
?
成员方法
思考:之前的学生类,仅拥有一些属性(成员变量),显然和现实学生不符合,怎样可以让学生拥有诸如学习、考试、睡觉、唱歌等行为,从而更好地模拟真实的学生?
成员方法
成员方法
思考:之前的学生类,仅拥有一些属性(成员变量),显然和现实学生不符合,怎样可以让学生拥有诸如学习、考试、睡觉、唱歌等行为,从而更好地模拟真实的学生?
成员方法
成员方法
?php
class Stu{
public $name;
public function sleep(){
echo I can sleep...;
}
public function eat(){
echo I can eat;
}
}
$s1 = new Stu();
echo $s1-sleep();
?
构造方法
接下来问题又来了:已经解决了学生可以具有属性,也可以表现出来行为。但是,每次都需要创建对象后,再对属性赋值。
可不可以在创建对象的同时,就进行属性的赋值呢?
构造方法
构造方法
?php
class Stu{
public $name;
public $age;
public function __construct($name,$age){
$name = $name;
$age = $age;
}
}
$s1 = new Stu(fan, 18);
echo $s1-name;
?
构造方法
构造方法写法2种:
public function __construct(){
echo way 1;
}
public function Stu
您可能关注的文档
- 边坡喷混凝土生产性工艺试验大纲课件.doc
- 输煤系统检修培训课件.ppt
- 辩论赛培训课件.ppt
- 辨析并修改病句课件课件.ppt
- 信息技术-2013模拟题(doc格式)剖析.doc
- 边坡土方回填施工方案课件.doc
- 辛凉解表药课件.ppt
- 辩论赛:真理会不会越辩越明课件.ppt
- 信息安全课程设计剖析.docx
- 边坡支护专项施工方案课件.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)