面向对象与面向过程

来源:互联网 发布:mac eclipse gbk 编辑:程序博客网 时间:2024/05/16 19:26

OK,这次终于比较透彻的理解了面向对象和面向过程的区别,
面向过程:把复杂业务划分为若干个“Procedure、 Function”。
function giveOrder(order, money){
}
function findShop(){
}
function buy(){
return bread;
}
function getBack(){
}
function eat(){
}

面向过程的思维方式:彻底的理解现实场景,理清其中的逻辑关系和运行顺序,划分为若干个小的处理单元——落实为function
面向对象的思维方式:首先观察现实场景,发现其中有哪些角色和对象,赋予这些对象以属性和行为,让他们彼此发消息,从而构建整个大的应用场景。
Teacher{
money;
giveOrder()
eat();
}
Student{
speed;
findShop()
buy()
getBack();
}
SellBread{
bread[]
makeBread()
sellBread()
}

对象(Object):现实应用/场景中的某个事物在程序中的体现。对象是无特定顺序的属性的集合。
面向对象的程序需要具备的四个基本特征
(1)封装(capsulation):把零散的多个变量组成一个整体
(2)继承(inheritance):子对象自动获得父对象的所有特征
(3)多态(polymorphism):一个方法根据参数的不同可以运行出不同的结果
(4)聚集(aggregation):多个对象可以聚合为一个更大的对象
JavaScript具备上述四种能力。
面向对象编程需要有抽象的能力,万物皆对象,把现实世界中所有的东西都能看做是对象,并且抽象出有意义的属性及方法。

JS语言虽然没有class,但是具备面向对象语言的四个基本特征,封装,继承,多态,集聚,是一种面向对象语言。

0 0
原创粉丝点击