C#学习的心得笔记

对于面向对象编程OOP的一些理解

2019-10-05  本文已影响0人  北欧的蓝天

OOP从老一代的编程语言继承了一些好的想法:

1)使用变量和类型,而不用去担心数值的细节和它们在内存中如何管理。

2)通过定义和使用功能,可以把复杂的逻辑拆分成许多可以被管理的部分。

但是老一代的编程语言,难以描述客观世界。OOP的诞生就是用于描述客观世界。

1)OOP,可以通过定义不同对象的属性(attributes)和行为(functions),以此来描述客观世界。

e.g. 学生,员工,他们都有自己的属性(data/state)和行为(behavior/actions)。

2) OOP,可以描述不同对象之间的逻辑关系。behavior往往是具有一定逻辑性(logic)的。

比如:通过给不同的对象定义各自Class,将Class关联起来,以此把不同的对象给关联起来

e.g. Class: Garage (车库) (heater, parking)包含 Class: heater, Class: parking

菱形箭头表示从属关系。heater和parking都是属于Garage的。

1)空心菱形箭头表示弱从属关系

假定车库被拆了之后,heater还可以拆了在其他地方继续使用。它们的生命周期不一样,弱从属。

2)实心菱形箭头表示强从属关系

假定车库被拆了之后,parking就不存在了。它们的生命周期一样,强从属。

上一篇下一篇

猜你喜欢

热点阅读