面向对象方法的主要特征有:
1、封装性
封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。
2、继承性
继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继职其它类的全部描述,同时可修改和扩充。
3、多态性
对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。
扩展资料
面向对象方法的优越性
(1)强调从现实世界中客观存在的事物(对象)出发来认识问题域和构造系统,这就使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域。
(2)运用人类日常的思维方法和原则(体现于OO方法的抽象、分类、继承、封装、消息通讯等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系统复杂性。
(3)对象的概念贯穿于开发过程的终,使各个开发阶段的系统成分具良好的对应,从而显著地提高了系统的开发效率与质量,并大大降低系统维护的难度。
(4)对象概念的一致性,使参与系统开发的各类人员在开发的各所段具有共同语言,有效地改善了人员之间的交流和协作。
(5)对象的相对稳定性和对易变因素隔离,增强了系统的应变能力。
(6)对象类之间的继承关系和对象的相对独立性,对软件复用提供了强有力的支持。
2024-11-30 广告
2013-06-20
2013-06-20
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
(2)抽象性。
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
(3)继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。
采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。
(4)多态性(多形性)
多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。
多态性增强了软件的灵活性和重用性。 望采纳
Java是一门面向对象的语言,面向对象的主要特点有封装,继承,多态
封装,意思就是把类的一些属性进行封装(“隐藏”),尽可能的避免直接访问对象一些属性,以保证其安全性,如果必须要访问这些属性,我们可以单独的提供一些接口(共有方法)进行访问,这样我们就可以避免因为直接访问属性信息造成的误操作。
继承,在我们的生活中也有很多的继承关系,比如子承父业,在Java中,我们也可以有继承的概念,但是继承只存在于父子类(接口)中,比如我们经常说的Dog类继承于Animal类,动物类Animal具有自己的一些属性,Dog属于Animal的一种,所以具有Animal的一些属性,但是Dog也有自己的一些特定属性,这时候如果我们单独在重新创建一个类Dog,就需要重新写一遍Animal类的属性,既费时又不好维护,这时候我们就可以使用继承,使用Dog类继承Animal类,这时候,Dog就包含了Animal类的一些属性,就不需要我们多次重复写这些属性了。
多态,即对于同一个对象,可能执行出不同的结果,比如上面的Animal类,我们创建他的两个子类,分别为Dog和Cat,Animal有个方法叫做public void jiaoSheng() { System.out.println( “动物叫声” ) ; } 两个子类分别重写了这个方法,实现形式Dog:public void jiaoSheng() { System.out.pringln( “狗叫声” ) ; }, Cat: public void jiaoSheng() { System.out.println( “猫叫声” ) ; },这时候我们可以创建一个Animal对象 animal = new Animal( );这时候我们调用animal.jiaoSheng() ;打印出 “动物叫声”;当animal = new Dog( ) ;的时候,我们调用animal.jiaoSheng() ; 打印出 “狗叫声”;当 animal = new Cat() ;的时候,我们调用animal.jiaoSheng() ; 打印出“猫叫声”;对于同一个对象animal我们调用同一个方法的时候,打印出的结果是不相同的,利用多态,我们就可以进行很多的扩展,而不需要过多的去修改原先的代码,可以保证代码的可维护性;从上面我们可以看得出来,如果要有多态,需要满足三个条件,第一个继承(或实现接口),第二个重写,也就是需要重写父类里面的方法,否则不会实现多态,对象调用的还是父类的方法,第三个父类引用指向子类对象,就像上面的animal他是一个Animal类的对象,但我们new的时候,创建的是子类Dog和Cat类的两个对象;
以下为源码示例:
public class Animal{
public void jiaoSheng() {
System.out.println(“动物叫声”);
}
}
public class Dog extends Animal{
@Override
public void jiaoSheng() {
System.out.println(“狗叫声”);
}
}
public class Cat extends Animal{
@Override
public void jiaoSheng() {
System.out.println(“猫叫声”);
}
}
更多java学习方面的问题可以访问这个网页,网页链接,希望我的回答能帮到你。
2013-06-20