java面向对象有哪些特点?

2020-06-30 10:57发布

3条回答
zane翟 - 你不了解我
1楼 · 2020-06-30 11:43.采纳回答

面向对象程序设计有4个主要特点,分别是:抽象、封装、继承、多态。以下是具体解释;

一、抽象和封装 类和对象体现了抽象和封装 抽象就是解释类与对象之间关系的词。类与对象之间的关系就是抽象的关系。一句话来说明:类是对象的抽象,而对象则是类得特例,即类的具体表现形式。 封装两个方面的含义:一是将有关数据和操作代码封装在对象当中,形成一个基本单位,各个对象之间相对独立互不干扰。

二是将对象中某些属性和操作私有化,已达到数据和操作信息隐蔽,有利于数据安全,防止无关人员修改。把一部分或全部属性和部分功能(函数)对外界屏蔽,就是从外界(类的大括号之外)看不到,不可知,这就是封装的意义。 二、继承 面向对象的继承是为了软件重用,简单理解就是代码复用,把重复使用的代码精简掉的一种手段。如何精简,当一个类中已经有了相应的属性和操作的代码,而另一个类当中也需要写重复的代码,那么就用继承方法,把前面的类当成父类,后面的类当成子类,子类继承父类,理所当然。就用一个关键字extends就完成了代码的复用。

三、多态 没有继承就没有多态,继承是多态的前提。虽然继承自同一父类,但是相应的操作却各不相同,这叫多态。由继承而产生的不同的派生类,其对象对同一消息会做出不同的响应。 【拓展回答】 一、面向对象程序设计概念 面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。 类当中有两个方面,一是封装属性,二是封装函数。在自己声明的类当中要既有属性又有函数,这就是类。 其实结构体的声明当中有很多不同数据类型的成员,在一个结构体当中,这就是对属性的封装,但是结构体与类相比较,还缺少了一个重要的环节,结构体当中只有属性,只封装了属性,但没有封装相应的操作,也就是没有封装操作成员属性的函数。 在结构体中声明一个结构体就相当于我们设计了一个类,定义一个结构体就相当于我们定义了一个对象,定义给两个结构体,相当于我们定义了两个对象。初始化结构体,相当于对象的初始化。 客观世界中任何一个事物都可以看成一个对象(Object),任何一个对象都有两个要素:一个是静态特征,这种静态特征称为属性。 一个是动态特征,这种动态特征称为行为(或功能)。 二、面向对象程序设计架构特点 面向对象设计方法以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。这是面向对象设计方法最主要的特点和成就。面向对象设计方法的应用解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题,缩短了开发周期,解决了从分析和设计到软件模块结构之间多次转换映射的繁杂过程,是一种很有发展前途的系统开发方法。 但是同原型方法一样, 面向对象设计方法需要一定的软件基础支持才可以应用,另外在大型的MIS开发中如果不经自顶向下的整体划分,而是一开始就自底向上的采用面向对象设计方法开发系统,同样也会造成系统结构不合理、各部分关系失调等问题。所以面向对象设计方法和结构化方法仍是两种在系统开发领域相互依存的、不可替代的方法。

详情咨询优就业呦。

  1. 封装  把类的内容隐藏起来,对外提供公开的访问方式,起到安全的作用、

  2. 继承 让类和类之间建立关系,就是父子类关系,子类继承父类,子类中就可以拥有父类的中所有可以过来的内容,可以简化代码,提高复用性,但是提高了耦合性。

  3. 多态 就是事物的多种形态,父类类型或者接口类型的引用指向子类或者实现类对象,这就是多态,在定义一些方法如果定义了父类或者接口类型的参数,在调用方法是就可以传入子类对象或者实现类对象,提高了代码的扩展性。

Java2–马骏
3楼-- · 2020-06-30 16:20

封装:这里的封装主要是针对类的封装。一个业务逻辑的实现往往需要多个对象和方法去实现,封装旨在对不同对象的方法进行封装处理,即不同对象的方法处在一个单独的对象类中。把对象的全部属性和全部服务结合在一起,形成不可分割的独立的单位(对象);信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。

优点:使对象以外的部分不能随意存取对象内部的数据,有效避免交叉感染,使软件错误局部化,减少查错和排错的难度。


继承:使用一个特殊类拥有其全部的属性和服务,作为父类,他可以有多个子类,一般的类去实现,比如:父类为 人,子类可以是 男人和女人,男和女都继承于父类,但是一个子类只能继承一个特殊类,不能继承多个。但一个一般类可以实现多个接口。子类继承父类的时候,可以重写父类的方法,也可以有自己的方法。


多态:具有三个条件:

1)继承

2)重写 

3)父类对象引用指向子类对象

优点:

可替换性:多态对已存在代码具有可替换性。 

可扩充性:多态对代码具有可扩充性。 

接口性:多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。 

灵活性:它在应用中体现了灵活多样的操作,提高了使用效率。 

简化性:多态简化对应用软件的代码编写和修改过程。


抽象:Java中抽象可以是抽象类、抽象方法,使用abstract修饰。其中抽象类中可以有抽象方法和非抽象方法,抽象方法。据有抽象方法的类一定是抽象类。抽象方法一般只有方法名,没有方法的实现。如:public abstract void test(); 且抽象方法的权限修饰必须是protected public 的,因为子类在继承抽象父类的时候,必须要实现父类所有的抽象方法。