--- layout: post title: 面向对象(Object Oriented)学习笔记(一) description: 面向对象(Object Oriented)学习笔记(一) category: tech thumb: 'IMG_PATH/oop.jpg' tags: [oop, php] --- ## 一. 面向对象(OOP)的发展历程 ### 1. OOP的诞生 [**Simulaq**][1]面向对象技术最早是在编程语言Simual中提出,1967年2月20日,在挪威奥斯陆郊外的小镇莉沙布举行的IFIP TC-2 工作会议上,挪威科学家Ole-Johan Dahl和Kristen Nygaard正式发布了Simula 67语言。Simula 67,是面向对象的开山祖师,它引入了所有后来面向对象程序设计语言所遵循的基础概念:对象、类、继承,但它的实现并不是很完整。后来[**Smalltalk**][2]的诞生,第二个面向对象的程序语言的出现,而且是第一个完整实现了面向对象技术的语言,和第一个真正的集成开发环境(IED)。 ## 二. 面向对象(OOP)的概念 OOP达到了软件工程的三个目标 * **重用性**、**灵活性**、**扩展性** ## 三. OOP三大特征 * 封装(Encapsulation):对外部不可见 * 继承(Inheritance):扩展类的功能 * 多态(Polymorphism):对象的重载、对象的多态性 ## 四. 类与对象 * 类是对某一类事物的描述,是抽象的、概念上实际存在的该类事物的每个个体,因而也称实例(instance),换种方法解释类就像一个具体的事物,一个对象,用编程代码来描述出来, * 对象,简单的来说对象是可以使用的,而类只是对这件事物进行描述,它不能使用。 ## 五. 类与对象的关系 这个我表达能力不太好哈...这样说吧,类就好比工厂车间的模具,而对象就是模具所产生的事物,一个模具是可以产生很多对象! 也就是说对象是类的实例化 ## 六. 类的声明与对象的创建及使用 好了我们来了解一下怎么找对象,...不..创建对象.. ### 1. 类的声明 ```php class 类名称{ // 这里成员属性修饰还有好几种下次一次详解 // 声明成员变量(属性) 数据类型 属性... // public 表示公有 public 返回值的数据类型 方法名称 (参数1,参数2){ // 定义方法 // 程序语句.. // return 等表达式 } } ``` ### 2. 对象的创建及使用: // 实例化对象,有参数别忘了加括号!
`$定义对象名称 = new 类名([参数列表]);` * 对象中成员的访问: // 输出对象的属性
`$对象名 -> 成员属性 = 赋值;` // 调用对象的方法:
`$对象名 -> 成员方法(参数);`
// 成员属性中还分有静态属性, 它是不能实例化的,往后我会补充 ```php play(); return "
手机的宽度;{$this -> width},
手机的高度;{$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("
",$phone1); $phone -> call("!list"); $phone -> call("
tom"); echo "
"; $phone -> play(); echo $phone -> info(); ?> ``` 呼~ 第一章写完了,我也是近期刚学OOP,可能哪个方面写的并不是很好 嘿嘿,如有写的不足之处,还请您在下方留言! [1]: https://zh.wikipedia.org/wiki/Simula?achuan.io [2]: https://zh.wikipedia.org/wiki/Smalltalk?achuan.io