什么叫做面向对象,面向服务与面向对象的区别?

面向对象的四大特性


1、抽象
【什么叫做面向对象,面向服务与面向对象的区别?】

忽略一个主题中与当前目标无关的东西,专注的注意与当前目标有关的方面 。(就是把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来的一般叫做类或者接口) 。抽象并不打算了解全部问题,而是选择其中的一部分,暂时不用部分细节 。抽象包括两个方面,一个数据抽象,而是过程抽象 。


数据抽象 -->表示世界中一类事物的特征,就是对象的属性 。比如鸟有翅膀,羽毛等(类的属性)


过程抽象 -->表示世界中一类事物的行为,就是对象的行为 。比如鸟会飞,会叫(类的方法)


2、封装


封装是面向对象的特征之一,是对象和类概念的主要特性 。封装就是把过程和数据包围起来,对数据的访问只能通过已定义的界面 。如私有变量,用set,get方法获取 。


封装保证了模块具有较好的独立性,使得程序维护修改较为容易 。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度 。


3、继承


一种联结类的层次模型,并且允许和鼓励类的重用,提供一种明确表达共性的方法 。对象的一个新类可以从现有的类中派生,这个过程称为类继承 。新类继承了原始类的特性,新类称为原始类的派生类(子类),原始类称为新类的基类(父类) 。派生类可以从它的父类哪里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要 。因此可以说,继承为了重用父类代码,同时为实现多态性作准备 。


4、多态


多态是指允许不同类的对象对同一消息做出响应 。多态性包括参数化多态性和包含多态性 。多态性语言具有灵活/抽象/行为共享/代码共享的优势,很好的解决了应用程序函数同名问题 。总的来说,方法的重写,重载与动态链接构成多态性 。java引入多态的概念原因之一就是弥补类的单继承带来的功能不足 。


动态链接 -->对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将调用子类中的这个方法,这就是动态链接 。

什么叫做面向对象,面向服务与面向对象的区别?

文章插图
面向服务与面向对象的区别?
区别:
面向对象:功能与整个项目进行了绑定;
面向服务:功能是单独存在的,哪个项目需要,哪个项目就去调用 。
面向服务的好处是什么:
在一个项目中各个不同的功能不再需要绑定项目,可以单独独立出来成一个服务器,
有项目需要用到某功能的时候直接去调用 。