面向对象程序设计——五周习学内容总结
作者:互联网
经过五周+的对java语言的学习以及对面向对象程序设计的学习,现以学习内容的不同为分类进行总结。
一 、对Java语言的学习
此处只对重难点以及Java语言较笔者以往了解过的C以及Python语言的差异之处进行总结,较为基础的除外。
1.继承
关键词:父类、子类、extends、super
-
子类拥有父类非 private 的属性、方法。
-
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
-
子类可以用自己的方式实现父类的方法。
-
Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
-
增加了类之间的耦合性。
2.多态
关键词:继承、重写(override)、接口(interface)、抽象(abstract)
- 1. 消除类型之间的耦合关系
- 2. 可替换性
- 3. 可扩充性
- 4. 接口性
- 5. 灵活性
- 6. 简化性
3.类
关键词:class
- 类是一个模板,它描述一类对象的行为和状态。
二、对Java语言的练习
1.PTA习题
共进行了七次PTA习题练习,以下只列出对笔者影响较大的部分题目
题目集01中7-2 日期类设计 以及与其相连接的7-3、7-4.
此题继承于寒假题目集02中7-2、7-3、7-4,由于笔者在寒假题目集02对于前n天和下n天以及相差天数的代码过于繁琐,搬运到此题来之后容易运行超时,所以此题对于笔者几乎是全部重新写了一遍,在此期间也获得了一种新的思路
题目集03中7-2 串口字符解析.
此题主要困扰笔者的在于奇偶校验以及整体的逻辑上,为解决此题也是花费了笔者好一番功夫。
总体来说,PTA上的习题主要起到对Java语言语法的复习功能。
三、对面向对象程序设计的学习
关键词:SRP(Single Responsibility Principe,单一职责原则)、Demeter法则(Law of Demeter)、“开-闭”原则、里氏代换原则、MVC模式
面向对象设计六大基本原则:
1.单一职责原则:一个类只附有一种职责
-
可以降低类的复杂度,一个类只负责一项职责,其逻辑比负责多项职责简单的多;
- 提高类的可读性,提高系统的可维护性;
- 变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。
2.里氏替换原则:当使用继承时,遵循里氏替换原则。类B继承类A时,除添加新的方法完成新增功能P2外,尽量不要重写父类A的方法,也尽量不要重载父类A的方法
- 减少对象间的耦合性;
- 提高程序的可移植性;
- 提高系统的可维护性。
3.依赖倒置原则:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率
- 可以降低类之间的耦合性;
- 提高系统的稳定性;
- 降低修改程序造成的风险;
- 给多人并行开发带来了极大的便利。
4.接口隔离原则
5.迪米特原则:尽量降低类与类之间的耦合
6.开闭原则:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化
对于笔者面向对象程序设计的学习,主要体现在雨刷问题上,从第一次雨刷问题到第五次逐步增强面向对象程序设计的思想
标签:习学,原则,继承,子类,面向对象,五周,Java,父类 来源: https://www.cnblogs.com/Yodadayo/p/16098090.html