2020.10.16(20~22)

21. 类和对象的关系

  • 类是对象的抽象,而对象是类的具体。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类适用于创建对象的蓝图,类就是一个带方法和变量的特定类型。

  • 类和对象好比是图纸和实物的关系,模具和铸件的关系。

  • 比如人类就是一个概念,人类具有身高,体重等属性。人类可以做吃饭、说话等方法。

  • 小明就是一个具体的人,也就是实例,他的属性是具体的身高200cm,体重180kg,他做的方法是具体的吃了一碗白米饭,说了“12345”这样一句话。

  • 还可以有小红,小蓝等具体的人即对象,但他们都是人类的实例,即类

22.面向过程和面向对象的区别

  • 两者都是软件开发思想,先有面向过程,后有面向对象。在大型项目中,针对面向过程的不足推出了面向对象开发思想。

  • 比喻

    • 面向过程是蛋炒饭,面向对象是盖浇饭。盖浇饭的好处就是“菜”“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是“可维护性”比较好,“饭” 和“菜”的耦合度比较低。蛋炒饭就不行了, 如果不满意就要丢掉重做;
  • 区别

编程思路不同: 面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、执行方法来完成功能。

封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。面向对象具有继承性和多态性,而面向过程没有继承性和多态性,所以面向对象优势是明显。

  • 方法重载和方法重写(覆盖)的区别

posted @ 2020-10-16 21:10  xiaokai9527  阅读(38)  评论(0)    收藏  举报