程序设计的思想和要点
作者:互联网
程序设计分为结构化程序设计和面向对象程序设计,面向对象程序设计也有着结构化程序设计的影子。
程序设计的主要原则有自顶向下、逐步求精、模块化、结构化编码、限制使用 GOTO 语句五个原则。其中,前三个原则在面向对象程序设计中同样非常重要。
- 自顶向下:在设计一个程序时,应该优先考虑总体,后考虑细节。先从最顶层目标开始设计,逐步使问题具体化。
- 逐步求精:在设计一个函数时,优先遵循“自顶向下”的原则,后从头开始将一些计算拆分成一个个函数,逐步地、一层一层地细化计算。
- 模块化:一个复杂的问题是由若干个小问题组成的,因此,将若干个小问题拆分成一个个子问题,最后组装成一个模块。模块化的目的是做到程序易于维护、代码高可读性。
我认为,在程序设计时,遵循自顶向下、逐步求精、模块化三个原则,能够写出高质量的程序(代码)。这样做的目的,首要目标是为了自己,如果代码可阅读性低,在后期遇到业务更改的需求时,需要浪费了大量时间去重新理解。其次也是为了团队和团队成员,代码阅读性高,程序模块化程度高,可以帮助队友快速加入到协作当中。
现在,大部分的语言都是面向对象程序设计,其中,对象、类、封装、继承、多态性五个概念极其重要。
类,是一组结构化类型的数据,其定义了成员属性、方法,具有结构化的特征。类被实现之后得到的东西,称之为对象。对象是对类的具体实现,是一个具体的东西。
// 结构化类型数据——类
class Person {
// 成员属性
private String name;
private int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
public void eat() { System.out.print("eat something."); }
}
public static void main(String[] args) {
Person p = new Person(); // p 是 Person 类的实例,也就是对象
}
如上的过程,就是封装,所谓的封装是把属性和方法组合成一个类。类的继承是对类的扩展,提高代码可重用性,体现出多态性。
顾名思义,Person 就是人类,人类所具有的公共属性被封装到此类中,Student、Teacher 同属于人类范畴,因此,提高代码重用,使 Student、Teacher 继承 Person。Student、Teacher 也因此具有了 Person 所有的属性和方法。
class Student extends Person {}
class Teacher extends Person {
@Override
public void eat() {
System.out.print('teacher eat something.');
}
}
Teacher 继承 Person 得来的eat()
方法最终打印的结果是 teacher eat something.,而不是 eat something.。子类继承父类之后,可以表现出不同的行为,这种特征称之为多态性。
我认为可以把面向对象程序设计的五个概念与结构化程序设计的三个原则结合起来进行程序设计。首先,开发程序时始终保持“模块化”开发的原则,接着在解决问题时,要“自顶向下”解决主要目标,其次,“逐步求精”细化程序。在具体的操作时,要把所用到的属性和方法“封装”成类,在之后的开发过程中发现有其他类都使用到了之前类中的属性和方法,就可以考虑将共同属性封装成一个父类,然后子类“继承”父类,从而实现多态性。
标签:封装,思想,Person,自顶向下,要点,程序设计,eat,属性 来源: https://www.cnblogs.com/shiramashiro/p/15982355.html