感觉自己是知道的,但是仔细的往深处想就模糊了?
嗷~ 我们应该把面向对象思想上升到哲学去看待←_←。可以说万物皆为对象。现实中的任何事物我们总能把它抽象为一个具体的带有静态属性与动态操作的对象。当然事物之间会存在联系。那么这种联系在对象间就表现为通过对象方法来进行对象间的操作和变换。语言不太会表达,大概酱紫~
一句话可以划分为主谓宾定状补。
主:对象(类)的调用者,调用对象(类)者自然不在对象(类)中描述。
谓:对象(类)的方法,一般要用动词(你的函数方法用动词吗?)
宾:对象(类)变量,谓语支配描述的对象。一般要用名词。
定:修饰宾语,扩充对象(类)变量,用类继承描述。一般用名词,形容词。
状补:谓前为状谓后为补,一般体现在方法参数中,也可以体现在方法重载。
面向对象的本质,就是尽最大可能贴近人类语言。你写的一个类,读起来就像是一组短语。
class 苹果 { // 对象
constructor(颜色) {
this.color = 颜色; // 这就是宾语
}
吃(几个) { // 谓语
}
洗(几个) { // 谓语
}
}
读着就是 “吃几个{颜色}苹果?” “洗几个{颜色}苹果?”
加上调用者"你”,就是一段程序了。“你吃几个{颜色}苹果?” “你洗几个{颜色}苹果?”
很简单 面向对象就是生成对象的方式。(JavaScript中的面向对象)
面向对象和基于对象区别 面向对象就是高效生成数据的方式
而基于对象把JavaScript 分成几个类 然后再每一个类拿出实例去学习研究 实例的的特点方法类的其他实例也存在
都说中国人是实用主义,但是为啥就在某些地方总是要搞的很高大上呢? 面向对象其实非常简单: 只是简单地代码管理方式。为了代码方便查找,修改和复用。其它什么也没有,不用搞得什么哲学什么的。
对于初学者: 主意单一职责, 按照概念划分类,不用太在意关联关系是聚合还是依赖。等到你用多了,自然就会慢慢有自己的风格。
但要切记,不了解需求就没有面向对象设计。需求的逻辑就是你设计的逻辑。 面向对象设计需要的不是概念原则,而是感觉。最后你会发现,感觉到了就是对了。
面向对象就是从事务中抽相出共性,用一个类来描述;再从这些共性中派生出一个新的,各自特有的类。
比如企鹅和鸡都是一种鸟,所以鸟事他们中共有的类,有着产卵这一以共同的行为(看做函数)。
但是两者在其上又有了各自的独有行为,比如企鹅会游泳,鸡会飞。这就是面向对象的程序设计,抽象出共性,发展处个性。
8 回答4.8k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
3 回答4.2k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
面向对象是对代码的一种组织形式,提高了抽象层次,隐藏了一些数据和底层逻辑,个人理解是这样