面向对象程序设计的三大特征是什么?
面向对象程序设计的三大特征是多态(Polymorphism)、继承(Inheritance)、封装(Encapsulation)。1、多态多态核心的思想就是,父类的引用能够指向子类的对象,或者接口类型的引用能够指向实现该接口的类的实例。多态会这样的原因是因为子类就是父类。2、继承Java是单继承的,这一点和C++有所不同,这也就意味着,一个类只能继承于一个类,被继承的类叫父类,或者是叫基类baseclass,继承的类叫子类。Java当中的继承使用关键字extends。可是,一个类能够实现多个接口,多个接口之间用逗号进行分割。实现接口使用关键字implements。3、封装(Encapsulation)封装比较的简单,类包含了方法和数据,将方法和数据放在一个类当中,就构成了封装。封装的优点:将变化隔离,便于使用,提高重用性,提高安全性;封装的缺点:将变量等使用private修饰,或者封装进方法内,使其不能直接被访问,增加了访问步骤与难度!面向对象程序设计的六大基本原则:1、单一职责原则不要存在多于一个导致类变更的原因,即一个类只承担一个职责。2、开放-封闭原则对扩展开放,对修改封闭。无论模块多么封闭,都会存在一些无法对之封闭的变化,既然不能完全封闭,我们必须对于自己设计的模块应该对哪种变化封闭做出选择,必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离这些变化。3、迪米特原则一个对象应该对其他对象有最少的了解,减少类与类之间的耦合。如果两个类不必彼此通信,那么这两个类就不应当发生直接的相互作用。类与类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成波及。4、依赖倒转原则上层模块不要依赖底层模块,它们都要依赖于抽象。抽象不能依赖于细节,细节要依赖于抽象。面向接口编程,不要面向实现编程。5、里氏替换原则子类型必须能够替换掉它们的父类型。只有当子类可以替换掉父类,软件单位的功能不受影响时,父类才能真正的被复用,而子类也能够在父类的基础上增加新的行为。6、接口隔离原则客户端不应该依赖于它不需要的接口,一个类对一个类的依赖应该建立在最小的接口上。不要让与自己无关的修改影响到自己功能模块的变化。
面向对象的程序设计语言是什么?
面向对象程序设计(Object Oriented Programming,OOP)的实质是选用一种面向对象程序设计语言(OOPL),采用对象、类及其相关概念所进行的程序设计。面向对象设计的结果,既可以用面向对象语言实现,也可以用非面向对象语言实现。面向对象程序设计语言本身就支持面向对象概念的实现,其编译程序可以自动地实现面向对象概念到目标程序的映射。而且与非面向对象语言相比,面向对象语言还具有以下一些优点:(1)一致的表示方法。面向对象的采用方法从问题域表示到面向对象分析,再到面向对象设计与实现始终稳定不变。一致的表示方法不但有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。(2)可重用性。为了能带来可观的商业利益.必须在更广泛的范围中运用重用机制,而不是仅仅在程序设计这个层次上进行重用。软件开发组织既可能重用它在某个问题域内的OOA结果,也可能重用相应的OOD和OOP结果。