·面向对象编程——0bject Oriented Programming,简称 OOP,是一种编程开发思想。

·它将真实世界各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。

·面向过程就是亲力亲为,事无巨细,面面俱到,步步紧跟,有条不紊

·面向对象就是找一个对象,指挥得结果

·面向对象将执行者转变成指挥者

·面向对象不是面向过程的替代,而是面向过程的封装

面向对象的特性

封装性

继承性

·[多态性]抽象

总结

·在面向对象程序开发思想中,每一个对象都是功能中心,具有明确分工,可以完成接受信息、处理数据、发出信息等任务。

·因此,面向对象编程具有灵活、代码可复用、高度模块化等特点,容易维护和开友,比起出一系列函数或指令组成的传统的过程式编程(procedural programming),更适合多人合作的大型软件项目。

体验面向过程和面向对象

案例

·处理学生的成绩表,打印输出学生成绩。

<script> // 面向过程 // 定义学生的对象 // var std1 = {name: “Bob”, score: 89}; // var std2 = {name: “Mike”, score: 98}; // // 封装一个打印学生成绩的函数 // function printScore(student) { // console.log(“姓名:” + student.name + “成绩:” + student.score); // } // // 具体调用函数打印出对应成绩 // printScore(std1); // printScore(std2); // 面向对象 // 首先考虑的不是整个流程,而是将一个学生当成一个对象,对象有两个属性存储姓名和成绩,并且对象自己有打印成绩的功能,将所有跟学生有关的属性和行为都封装到对象身上 // 在这个过程,我们已知会由多个类似的对象,可以利用构造函数的方法先进行封装,然后创建单独的对象 // 抽象所有的数据行为成一个模板(Class) function Student(name,score) { this.name = name; this.score = score; this.printScore = function () { console.log(“姓名:” + this.name + “成绩:” + this.score); }; } // 根据模板创建具体的实例对象(Instance) var std1 = new Student(“Bob”,90); var std2 = new Student(“Mike”,98); // 调用实例对象自己的方法 std1.printScore(); std2.printScore(); </script>

面向对象的设计思想

抽象出Class(构造函数)

根据Class(构造函数)创建lnstance(实例)

指挥Instance 得结果