什么是面向对象方法及其特点,面向对象方法有什么特点?
什么是面向对象方法及其特点,面向对象方法有什么特点?详细介绍
本文目录一览: 面向对象方法的主要特征有哪些?
面向对象的编程语言(Object-oriented Programming Language)是专门为面向对象观念而发展出来的,通过它可以便捷地实现面向对象的封装、继承、多态等特性。1.封装封装是一种信息隐藏技术,即对象内部对用户是隐藏的,不可直接访问;用户只能见到对象封装界面上的信息,通过对象的外部接口访问对象。封装的目的在于将对象的使用者和对象的设计者分开,使用者无须知道对象内部实现的细节,只需要知道对象接收的消息即可。当用户向对象发送消息后,对象将根据收到的消息来调用内部方法以做出响应。在C++语言中,对象的构成由类来描述,每个类的成员可以分为私有和公有两种类型,对象的外部不能直接访问对象的私有部分。对象的封装特性可以提高模块之间的独立性,使得系统易于调试和维护。假设应用系统中有两个模块:一个模块从计算机的串行通讯口接收数据,放入缓冲区;另一个为数据处理模块。数据处理模块可以直接访问缓冲区,从缓冲区中读取数据。此时这两个模块之间的关联程度密切,模块独立性很差。如果接收数据的模块改变缓冲区的管理方法,则第二个模块必须做相应的改变。如果数据处理模块对缓冲区操作有误,将影响数据接收模块,在程序调试时难以确定错误发生在哪一个模块中。实际上,数据处理模块并不需要缓冲区的管理信息,它只需要知道缓冲区中有没有数据以及有什么样的数据。上面的处理方法违反了软件工程中的信息隐藏原则,数据处理模块访问了它不需要的信息。将数据接收模块封装为一个对象,缓冲区的管理信息作为其私有数据,即可避免上面的问题。数据接收模块只要提供一个从缓冲区获得数据的接口即可。数据处理模块只能访问该接口,而不能直接操作缓冲区。此时两个模块之间的独立性提高,如需改变缓冲区的管理方法,只需修改数据接收模块,数据处理模块将不受任何影响,因为数据接收模块提供的外部接口没有改变。2.继承人们在对客观世界的事物进行描述时,经常采取分类的方法。类是有层次的,即某个大类的事物可能分为若干小类,而这些小类可能又分为若干个更小的类。面向对象思想采纳了事物分类的层次思想,在描述类的时候,某些类之间具有结构和行为的共性。例如教师类与学生类,在结构方面均具有姓名、年龄、身高、体重等,在行为(或操作)方面均具有回答身高、回答体重等操作。将这些共性抽取出来,形成一个单独的类--人,描述教师类和学生类中的共性。类(人)的结构特征和行为特征可以被多个相关的类共享,例如教师类和学生类继承了人的结构和行为特征。在C++语言中,通过类的派生机制来实现类的继承,可以从一个类中派生出一个新的类,这个类称为派生类的基类或父类,派生出的新类称为基类的派生类或子类。派生类的对象具有基类对象的特征,同时又有其自身特有的特征。一个教师类的对象与一个学生类的对象都具有人这个类所描述的特征,同时又具有教师类和学生类各自所特有的特征。利用类之间的继承关系,可以简化类的描述。在人这个类中描述教师类和学生类的共性,而在学生类和教师类中只需描述各自的个性。利用继承机制可以提高软件代码的可重用性。在设计一个新类时,不必从头设计和编写全部的代码,可以通过从已有的具有类似特性的类中派生出一个类,继承原有类中的部分特性,再加上所需要的新特性。这一点与面向过程的设计语言中的过程或函数不同,在面向过程的设计语言中,要使用具有相似功能的过程或函数,必须修改源程序代码以使其适应新系统的功能需求,而类的派生机制无需原有类的源代码即可派生出新的类。利用类及其继承性描述系统时,由于类之间的继承关系,可能会形成一种具有层次性的类结构。在使用类的层次结构描述系统时,某些类之间的层次关系可以有多种实现方案。例如中学生类,既可以直接从人这个类派生出来,也可以从人这个类的派生类--学生类派生出来。在设计类的层次结构时,应注意建立的类层次结构是否易于理解以及组织类结构的费用等方面的问题。设计出来的类层次结构是否合理,往往取决于系统分析员的经验等因素。3.多态性多态性是面向对象系统的又一重要特性。所谓多态,即一个名词可具有多种语义。在C++语言中,多态性主要表现在以下两个方面。(1) 重载在C++语言中,同一函数名以及运算符可以具有不同含义的多种实现版本,编译器将根据函数调用的参数形式决定调用哪一种实现版本。(2) 虚函数C++语言引入了虚函数机制,允许在不同类层次对象中应用函数成员的不同版本。例如实现一个类Shape,然后从该类派生出画点的类Point、画圆的类Circle、画直线的类Line,每一种图形的画法均不同,但是它们都有几种共同的操作--显示图形、擦除图形、移动图形。移动图形的操作都是首先擦除图形,然后改变图形的位置基准点,再在新位置显示出图形。在类Shape中实现移动图形的操作,每种图形的显示、擦除、改变基准点等操作在派生类中分别实现。若程序中使用某图形对象的移动操作,编译器采用动态联编的手段,在执行时根据该图形对象是哪一个类的实例,决定调用哪一个类的显示、擦除、改变基准点的方法。这种多态性称为运行时的多态性。而重载在编译时编译器即可确定使用哪一个实现版本,是静态的。
(1)对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
(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学习方面的问题可以访问这个网页,网页链接,希望我的回答能帮到你。
多,继,封
面向对象方法的主要特征有:
1、封装性
封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。
2、继承性
继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继职其它类的全部描述,同时可修改和扩充。
3、多态性
对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。
扩展资料
面向对象方法的优越性
(1)强调从现实世界中客观存在的事物(对象)出发来认识问题域和构造系统,这就使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域。
(2)运用人类日常的思维方法和原则(体现于OO方法的抽象、分类、继承、封装、消息通讯等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系统复杂性。
(3)对象的概念贯穿于开发过程的终,使各个开发阶段的系统成分具良好的对应,从而显著地提高了系统的开发效率与质量,并大大降低系统维护的难度。
(4)对象概念的一致性,使参与系统开发的各类人员在开发的各所段具有共同语言,有效地改善了人员之间的交流和协作。
(5)对象的相对稳定性和对易变因素隔离,增强了系统的应变能力。
(6)对象类之间的继承关系和对象的相对独立性,对软件复用提供了强有力的支持。
什么是面向对象,有什么特点?
在编程语言中,面向对象的使用是非常重要的,在PHP语言中也是用了很多年才获得这项技术。面向对象的出现是系统开发中一个伟大的改革,编程语言开始从应用程序回到数据上。面向对象将编程过程中焦点转向建模的真是实体上,让应用程序更加接近现实世界。下面电脑培训为大家主要介绍面向对象。
一、什么是面向对象
就像你是公司的总裁,你在做组装一组电脑的工作。也就是说,面向对象是抽象的执行,或者是由员工来完成。详细地说,总裁是不需要考虑这个问题。IT培训认为好处是显而易见的,高级别管理的公司可以在不管理高级别公司的情况下协调工作,只有少数几个具体实施的员工会陷入困境。
二、面向对象的特点
1、封装
隐藏对象的属性和实现细节,只向外部公开接口,控制程序中读取和修改属性的访问级别;将抽象数据和行为(或函数)组合成一个有机的整体,即将数据与操作数据的源代码有机地结合起来,形成一个“类”,其中数据和函数是类的成员。
2、继承
继承是从基类派生一个或多个类的机制。从另一个类继承的类称为该类的子类。这种关系经常被比作父亲和孩子。子类继承父类的属性。这些属性由属性和方法组成。北大青鸟认为子类可以增加父类以外的新函数,因此子类也称为父类的“展开”。
3、多态
多态性是指OOP根据使用类的上下文,可以重新定义类的性质或行为,或者接口的多种不同的实现方式是多态的。回龙观北大青鸟建议如果把不同的子对象看作是父类,则可以屏蔽不同子对象间的差异,写出通用的代码,进行通用的编程,适应需求的变化。
面向对象的特点是什么
面向对象的特征是:1、抽象,把现实世界中的某一类东西,提取出来,用程序代码表示;2、封装,把过程和数据包围起来,对数据的访问只能通过已定义的界面;3、继承,一种联结类的层次模型;4、多态,允许不同类的对象对同一消息做出响应。面向对象(ObjectOriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。基本概念对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个是动作。对象则是数据和动作的结合体。对象不仅能够进行操作,同时还能够及时记录下操作结果。基本思想面向对象编程(ObjectOrientedProgramming,OOP,面向对象程序设计)的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙一个事物在整个解决问题的步骤中的行为。面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。
什么是面向对象方法,其特点是什么?
用代码描述现实世界的事物.
不专业地说法就是
如果你钻研得够深,
写代码就跟说话似的.
程序运行的时候,就像你平时办事情似的.
程序中小鸟在飞,对应你的窗外小鸟在飞.
面向对象方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体——对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。
面向对象方法有什么特点?
主要有以下特点:
(1)从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。
(2)事物的静态特征(即可能用一些数据来表达的特征)用对象的属性表示,事物的动态特征(即事物的行为)用对象的服务表示。
(3)对象的属性与服务结合为一体,成为一个独立的实体,对外屏蔽其内部细节,即封装。
(4)对事物进行分类。把具有相同属性和服务的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个示例。
(5)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,面向对象方法支持对这种继承关系的描述与实现,从而简化系统的构造过程及其文档。
(6)复杂的对象可以用简单的对象作为其构成部分,称作聚合。
(7)对象之间通过消息进行通信,以实现对象之间的动态联系。
(8)通过关联表达对象之间的静态关系。
试述面向对象方法有哪些特征。
【答案】:面向对象的特征为:
(1)对象唯一性。每个对象都有自身的唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。在对象建立时,有系统授予新对象以唯一的对象标识符,它在历史版本管理中又起巨大作用。
(2)分类性。分类性是指具有一致的数据结构(属性)和行为(操作)的对象抽象成类。每个类是具有相同性质的个体对象的集合,而每个对象是相关类的实例。
(3)继承性。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
继承性是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。在类层次中,子类只继承一个父类的数据结构和方法,则称为“单重继承”。在类层次中,子类继承了多个父类的数据结构和方法,则称为“多重继承”。
(4)多态性(多形性)。多态性是指允许不同类的对象对同一消息作出响应。不同的对象,收到同一消息可以产生不同的结果,这种现象称为“动态性”。如MOVE操作,可以是窗口对象的移动操作,也可以是国际象棋子移动的操作。
多态性允许每个对象以适合自身的方式去响应共同的消息。这样就增强了操作的透明性、可理解性和可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。
面向对象的三大特征是什么,各自的定义
面向对象的三大特征:
1、封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
2、继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
3、多态性:多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
面向对象,是软件开发方法。面向 对象的概念和应用已超越了 程序设计和软件开发,扩展到如 数据库系统、交互式界面、应用结构、应用平台、 分布式系统、 网络管理结构、CAD技术、 人工智能等领域。
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向 对象的分析根据 抽象关键的问题域来分解系统。
面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成“现实世界”的对象。面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,
面向对象的特征是什么
本教程操作环境:windows7系统、Dell G3电脑。
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物,是一种是软件开发方法
面向对象主要有四大特性
1、抽象
忽略一个主题中与当前目标无关的东西,专注的注意与当前目标有关的方面。(就是把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来的一般叫做类或者接口)。抽象并不打算了解全部问题,而是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一个数据抽象,而是过程抽象。
数据抽象 -->表示世界中一类事物的特征,就是对象的属性。比如鸟有翅膀,羽毛等(类的属性)
过程抽象 -->表示世界中一类事物的行为,就是对象的行为。比如鸟会飞,会叫(类的方法)
2、封装
封装是面向对象的特征之一,是对象和类概念的主要特性。封装就是把过程和数据包围起来,对数据的访问只能通过已定义的界面。如私有变量,用set,get方法获取。
封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。
3、继承
一种联结类的层次模型,并且允许和鼓励类的重用,提供一种明确表达共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),原始类称为新类的基类(父类)。派生类可以从它的父类哪里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。因此可以说,继承为了重用父类代码,同时为实现多态性作准备。
4、多态
多态是指允许不同类的对象对同一消息做出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活/抽象/行为共享/代码共享的优势,很好的解决了应用程序函数同名问题。总的来说,方法的重写,重载与动态链接构成多态性。java引入多态的概念原因之一就是弥补类的单继承带来的功能不足。
动态链接 -->对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将调用子类中的这个方法,这就是动态链接。
面向对象程序设计具有许多优点:
1、开发时间短,效率高,可靠性高,所开发的程序更强壮。由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。
2、应用程序更易于维护、更新和升级。继承和封装使得应用程序的修改带来的影响更加局部化。
(如需要计算机编程相关的基础知识,可以参考编程学习频道)
面向对象的概念,特点是什么
同意楼上的观点,但如果没有较好的编程基础和足够的抽象思维的话,要搞明白什么是面向对象,还是不容易的。
建议从“结构化编程”起步,搞明白了结构化编程,再学面向对象就容易了----实际上面向对象编程只是结构化编程的更高一级抽象。
^-^
1.编程模型
所有计算机均由两种元素组成:代码和数据.精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的.
第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码.如 C 等过程化语言.
第二种编程方式叫做"面向对象的模型",按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象,封装,继承和多态的好处.
2.抽象
面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性.
管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统,把它划分成更容易管理的块.例如,一个计算机系统是一个独立的对象.而在计算机系统内部由几个子系统组成:显示器,键盘,硬盘驱动器,DVD-ROM,软盘,音响等,这些子系统每个又由专门的部件组成.关键是需要使用层次抽象来管理计算机系统(或其他任何复杂系统)的复杂性.
面向对象程序设计的本质:这些抽象的对象可以被看作具体的实体,这些实体对用来告诉我们作什么的消息进行响应.
/* (我的理解)
*计算机是一个实体,我要输入字符,显示器显示出来,那么
*计算机(对象).输入(键盘属性).显示(显示方法)
*使用分层来引用,操作.而不用管计算机内部如何处理.
*只要有计算机对象,它就能响应我的操作,而我敲键盘,
*计算机对象就把这个消息传给屏幕,屏幕显示.
*/
计算机对象包含了它所有的属性,以及操作,这就是面向对象程序设计的三大原则之一:封装.
3.封装
封装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制.封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问.对包装器内部代码与数据的访问通过一个明确定义的接口来控制.封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,同时不用担心不可预料的副作用.
在JAVA中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例.
在定义一个类时,需要指定构成该类的代码与数据.特别是,类所定义的对象叫做成员变量或实例变量.操作数据的代码叫做成员方法.方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义.
由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制.所以JAVA中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西.私有的方法数据只能通过该类的成员代码来访问.这就可以确保不会发生不希望的事情.
4.继承
继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二,它支持按层次分类的概念.例如,波斯猫是猫的一种,猫又是哺乳动物的一种,哺乳动物又是动物的一种.如果不使用层次的概念,每个对象需要明确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层次中的每个祖先的所有属性.
继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用.
5.多态
多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用.
6.封装,继承,多态的组合使用
在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.例如:汽车
从继承的角度看,驾驶员都依靠继承性来驾驶不同类型(子类)的汽车,无论这辆车是轿车还是卡车,是奔驰牌还是菲亚特牌,驾驶员都能找到方向盘,手刹,换档器.经过一段时间驾驶后,都能知道手动档与自动档之间的差别,因为他们实际上都知道这两者的共同超类:传动装置.
从封装的角度看,驾驶员总是看到封装好的特性.刹车隐藏了许多复杂性,其外观如此简单,用脚就能操作它.发动机,手刹,轮胎大小的实现对与刹车类的定义没有影响.
从多态的角度看,刹车系统有正锁反锁之分,驾驶员只用脚踩刹车停车,同样的接口可以用来控制若干种不同的实现(正锁或反锁).
这样各个独立的构件才被转换为汽车这个对象的.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序