面向对象(Object Oriented)学习笔记(一) |
|
這些年來
L0
• 2020-03-15 • 回复 0 • 只看楼主
• 举报
|
一. 面向对象(OOP)的发展历程
1. OOP的诞生
Simulaq 面向对象技术最早是在编程语言Simual中提出,1967年2月20日,在挪威奥斯陆郊外的小镇莉沙布举行的IFIP TC-2 工作会议上,挪威科学家Ole-Johan Dahl和Kristen Nygaard正式发布了Simula 67语言。Simula 67,是面向对象的开山祖师,它引入了所有后来面向对象程序设计语言所遵循的基础概念:对象、类、继承,但它的实现并不是很完整。后来Smalltalk 的诞生,第二个面向对象的程序语言的出现,而且是第一个完整实现了面向对象技术的语言,和第一个真正的集成开发环境(IED)。
二. 面向对象(OOP)的概念
OOP达到了软件工程的三个目标
- 重用性、灵活性、扩展性
三. OOP三大特征
- 封装(Encapsulation):对外部不可见
- 继承(Inheritance):扩展类的功能
- 多态(Polymorphism):对象的重载、对象的多态性
四. 类与对象
- 类是对某一类事物的描述,是抽象的、概念上实际存在的该类事物的每个个体,因而也称实例(instance),换种方法解释类就像一个具体的事物,一个对象,用编程代码来描述出来,
- 对象,简单的来说对象是可以使用的,而类只是对这件事物进行描述,它不能使用。
五. 类与对象的关系
这个我表达能力不太好哈…这样说吧,类就好比工厂车间的模具,而对象就是模具所产生的事物,一个模具是可以产生很多对象! 也就是说对象是类的实例化
六. 类的声明与对象的创建及使用
好了我们来了解一下怎么找对象,…不..创建对象..
1. 类的声明
class 类名称{ // 这里成员属性修饰还有好几种下次一次详解 // 声明成员变量(属性) 数据类型 属性... // public 表示公有 public 返回值的数据类型 方法名称 (参数1,参数2){ // 定义方法 // 程序语句.. // return 等表达式 }}
2. 对象的创建及使用:
// 实例化对象,有参数别忘了加括号!$定义对象名称 = new 类名([参数列表]);
- 对象中成员的访问: // 输出对象的属性
$对象名 -> 成员属性 = 赋值;
// 调用对象的方法:$对象名 -> 成员方法(参数);
// 成员属性中还分有静态属性, 它是不能实例化的,往后我会补充
<?php /*---------------------------------*\ 对象实例化 //实例化指OOP编程中,类创建对象的过程 \*---------------------------------*/ class phone{ # 成员属性 public $width; public $height; public $size; # 成员方法 public function call($name){ echo "正在给{$name}打电话";} public function message($name){ echo "正在给{$name}发短信";} public function play(){ echo "正在玩游戏!";} public function info(){ $this -> play(); return "<br> 手机的宽度;{$this -> width},<br> 手机的高度;{$this -> height}";} } # 实例化对象 $phone = new phone(); $phone -> width = "5CM"; $phone -> height = "10CM"; //$phone -> width = "5CM"; //对象对成员属性的赋值(引用变量时 $ 符可以不写) //echo $phone -> width; //与对象取得成员属性存的值 //$phone1 = new phone(); //$phone1 -> height = "10CM"; //$height = $phone1 -> height; //echo $height; //echo $phone1 -> height; //$phone1 -> aaaa = "AAAA";font //var_dump("<br>",$phone1); $phone -> call("!list"); $phone -> call("<br> tom"); echo "<br>"; $phone -> play(); echo $phone -> info(); ?>