面向对象的概念,特点是什么

如题所述

1.编程模型

所有计算机均由两种元素组成:代码和数据.精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的.

第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码.如 C 等过程化语言.

第二种编程方式叫做"面向对象的模型",按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象,封装,继承和多态的好处.

2.抽象

面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性.

管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统,把它划分成更容易管理的块.例如,一个计算机系统是一个独立的对象.而在计算机系统内部由几个子系统组成:显示器,键盘,硬盘驱动器,DVD-ROM,软盘,音响等,这些子系统每个又由专门的部件组成.关键是需要使用层次抽象来管理计算机系统(或其他任何复杂系统)的复杂性.

面向对象程序设计的本质:这些抽象的对象可以被看作具体的实体,这些实体对用来告诉我们作什么的消息进行响应.

/* (我的理解)

*计算机是一个实体,我要输入字符,显示器显示出来,那么

*计算机(对象).输入(键盘属性).显示(显示方法)

*使用分层来引用,操作.而不用管计算机内部如何处理.

*只要有计算机对象,它就能响应我的操作,而我敲键盘,

*计算机对象就把这个消息传给屏幕,屏幕显示.

*/

计算机对象包含了它所有的属性,以及操作,这就是面向对象程序设计的三大原则之一:封装.

3.封装

封装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制.封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问.对包装器内部代码与数据的访问通过一个明确定义的接口来控制.封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,同时不用担心不可预料的副作用.

在JAVA中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例.

在定义一个类时,需要指定构成该类的代码与数据.特别是,类所定义的对象叫做成员变量或实例变量.操作数据的代码叫做成员方法.方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义.

由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制.所以JAVA中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西.私有的方法数据只能通过该类的成员代码来访问.这就可以确保不会发生不希望的事情.

4.继承

继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二,它支持按层次分类的概念.例如,波斯猫是猫的一种,猫又是哺乳动物的一种,哺乳动物又是动物的一种.如果不使用层次的概念,每个对象需要明确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层次中的每个祖先的所有属性.

继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用.

5.多态

多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用.

6.封装,继承,多态的组合使用

在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.例如:汽车

从继承的角度看,驾驶员都依靠继承性来驾驶不同类型(子类)的汽车,无论这辆车是轿车还是卡车,是奔驰牌还是菲亚特牌,驾驶员都能找到方向盘,手刹,换档器.经过一段时间驾驶后,都能知道手动档与自动档之间的差别,因为他们实际上都知道这两者的共同超类:传动装置.

从封装的角度看,驾驶员总是看到封装好的特性.刹车隐藏了许多复杂性,其外观如此简单,用脚就能操作它.发动机,手刹,轮胎大小的实现对与刹车类的定义没有影响.

从多态的角度看,刹车系统有正锁反锁之分,驾驶员只用脚踩刹车停车,同样的接口可以用来控制若干种不同的实现(正锁或反锁).

这样各个独立的构件才被转换为汽车这个对象的.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-01-16
同意楼上的观点,但如果没有较好的编程基础和足够的抽象思维的话,要搞明白什么是面向对象,还是不容易的。

建议从“结构化编程”起步,搞明白了结构化编程,再学面向对象就容易了----实际上面向对象编程只是结构化编程的更高一级抽象。

^-^

面向对象的特点是什么
面向对象的特征是:1、抽象,把现实世界中的某一类东西,提取出来,用程序代码表示;2、封装,把过程和数据包围起来,对数据的访问只能通过已定义的界面;3、继承,一种联结类的层次模型;4、多态,允许不同类的对象对同一消息做出响应。面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象...

简要叙述面向对象的特点。
面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象的特征 (1)对象唯一性。每个对象都...

谈谈你对面向对象的理解
面向对象可以说是对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段的产物。它的特点:抽象封装继承多态用我的话说,其实可以这么理解,假如我是上帝,我要造人(这是对象)。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。所谓面向对象就是基于对象概念,以...

什么叫做面向对象?
面向对象是一种编程思想,它将现实世界中的事物抽象为对象,并通过对对象属性和方法的操作来模拟现实世界的行为。在面向对象编程中,对象是由数据和可以对这些数据执行的操作组成的实体。数据通常被封装在对象的内部,只能通过特定的方法(也称为成员函数或行为)进行访问和修改。这种封装机制有助于隐藏对象...

简述面向对象的基本概念
面向对象有三大特性,封装、继承和多态。封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类--有父类的行为和...

面向对象的特点
封装是面向对象的特征之一,是对象和类概念的主要特性。封装就是把过程和数据包围起来,对数据的访问只能通过已定义的界面。如私有变量,用set,get方法获取。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。...

面向对象的基本概念是什么
面向对象的核心是“开发对象模型“,对象模型包括四大主要要素即抽象、封装、模块化、层次结构和3大次要要素即类型、持久、并发。面向对象就主要围绕这几个要素进行的。最难的部分是确定正确的类和对象。面向对象的发明是为了解决大中型以及工业级软件开发问题。

Python之什么叫面向对象
Python编程中的面向对象概念,是对现实世界的一种抽象和模拟,它强调"万物皆对象"的理念。在编程中,对象是核心,消息驱动程序的运行,使得程序结构可以简化为对象与它们之间的交互。面向对象的三大特性包括封装、继承和多态。封装,就如同现实生活中的物品分类,将对象的属性和行为抽象为类,将私有属性和...

面向对象是什么意思
面向对象编程的核心概念是对象。对象是现实世界事物的抽象表示,包含了事物的属性和行为。比如,一只狗可以是一个对象,其属性包括品种、颜色等,行为包括叫、摇尾巴等。在编程中,开发者通过定义对象来实现特定功能或行为。而面向对象就是将这些对象和它们之间的关系以及交互作为编程的基本单位,来设计和实现...

面向对象是什么意思
面向对象是一种程序设计思想,它的核心概念是“对象”。“对象”是指具有特定属性和行为的实体,能够接收消息、处理消息并返回结果。在面向对象的编程语言中,所有的程序都是由多个对象组成的。面向对象的编程语言具有三个基本概念:封装、继承和多态。其中封装是将数据和操作封装在一个对象中,避免了外部对...

相似回答