面向机器语言:机器语言、汇编语言,针对不同的机器编写诸如01011100这样的指令序列;
面向过程语言:C语言、FORTRAN语言,核心是编写解决某个问题的代码块,比如C语言中的函数;
面向对象语言:Java语言,基于对象的编程更加符合人的思维模式,使程序代码更易维护、易扩展、易复用。
面向对象编程三大特性:
1.封装性
将数据和对数据的操作封装在一起,通过抽象,即从具体的实例中抽取共同的性质形成一般的概念,比如:类的概念。
2.继承性
子类可以继承父类的属性和功能,既继承了父类所具有的数据和数据上的操作,同时又可以增添子类独有的数据和数据上的操作。比如:“人类”自然继承了“哺乳类”的属性和功能,同时又增添了人类独有的属性和功能。
3.多态性
有两种意义上的多态:
- 操作名称的多态,即有多个操作具有相同的名字,但这些操作所接收的消息类型必须不同。向操作传递不同的消息,对象则根据相应的消息产生一定的行为;
- 和继承有关的多态,是指同一个操作被不同类型对象调用时可能产生不同的行为。
使用多态进行程序设计的核心技术之一是使用上转型对象,即将Abstract类声明对象作为其子类的上转型对象,那么这个上转型对象就可以调用子类重写的方法。
利用多态设计程序的好处是,可以体现程序设计的“开闭”原则(Open-Closed Principle),“开闭”原则强调一个程序应当对扩展开放,对修改关闭,增强代码的可维护性。比如