面向对象程序设计概述
- 格式:doc
- 大小:875.50 KB
- 文档页数:5
一、Java面向对象程序设计概述Java作为一种非常流行的编程语言,其核心思想之一就是面向对象程序设计。
面向对象程序设计是一种程序设计范式,它将计算机程序视为一组对象的集合,每个对象都可以接收消息、处理数据,并将数据传递给其他对象。
Java语言通过类和对象的概念来实现面向对象程序设计,使得程序更加易读、易维护,并且具有良好的扩展性和复用性。
二、Java面向对象程序设计的基础1.类和对象Java中的类是一种模板,它定义了对象的状态和行为。
对象是类的实例,它具有类所定义的属性和方法。
通过定义类和创建对象,可以更好地组织和管理程序的逻辑结构,实现代码的复用和扩展。
2.封装封装是面向对象程序设计的重要特性之一,它将数据和方法封装在类的内部,通过访问控制符来控制对象对其内部状态的访问。
这样可以隐藏对象的内部细节,避免外部代码直接依赖于对象的实现细节,从而提高代码的可维护性和安全性。
3.继承继承是面向对象程序设计的另一个重要特性,它允许一个类继承另一个类的属性和方法,并在此基础上进行修改和拓展。
通过继承,可以在不改变已有代码的情况下为现有类添加新的功能,提高代码的复用性和扩展性。
4.多态多态是面向对象程序设计的一个重要概念,它允许不同类的对象对同一消息做出不同的响应。
通过多态,可以实现接口的统一调用、代码的灵活性和可扩展性。
三、Java面向对象程序设计的实践1.使用类和对象在Java中,使用类和对象是编写程序的基本操作。
首先需要定义类,然后创建对象,并通过对象调用类中的方法来实现程序的功能。
定义一个名为Student的类,然后创建多个Student对象,并调用对象的方法来实现学生管理系统。
2.封装的应用封装可以将数据和行为封装在一个类中,通过访问控制符来控制对对象的访问。
在银行系统中,可以定义一个Account类来封装账户的信息和相关操作,避免外部直接操作账户的内部数据,提高系统的安全性。
3.继承的应用继承可以实现类的复用和扩展,通过子类继承父类的属性和方法,并在此基础上进行修改和拓展。
面向对象程序设计总结面向对象程序设计(Object-Oriented Programming, OOP)是一种以对象为基础,将数据和操作整合在一起的编程范式。
在面向对象程序设计中,我们通过定义类来创建对象,对象之间通过消息传递的方式进行交互。
本文将总结面向对象程序设计的重要概念和优势,并介绍如何使用面向对象编程来解决实际问题。
面向对象程序设计的基本概念面向对象程序设计的核心思想是将程序中的所有内容抽象为对象,并将对象分为类和实例。
类是一种抽象的数据类型,它定义了对象的属性和方法。
实例则是类的具体表现,拥有类定义的属性和方法。
面向对象程序设计具有以下基本概念:1.封装(Encapsulation):封装是通过将数据和操作封装在一个单独的实体中,从而将数据的访问限制在特定的范围内。
这样可以保护数据的完整性,同时也提供了对数据的统一操作接口。
2.继承(Inheritance):继承是指一个类可以派生出其他子类,并且继承了父类的属性和方法。
通过继承可以实现代码的复用,并且可以在不同的层次结构中定义不同的行为。
3.多态(Polymorphism):多态是指在不同的上下文中,对象可以表现出多种形态。
通过多态,可以实现灵活而智能的程序结构,并增强了程序的可扩展性和可维护性。
面向对象程序设计的优点面向对象程序设计具有以下优点:1.可靠性(Reliability):面向对象程序设计的封装特性可以降低代码之间的耦合度,从而提高代码的可靠性和可维护性。
封装可以隐藏内部实现细节,使得程序更加稳定和可靠。
2.可复用性(Reusability):通过继承和多态,可以实现代码的复用和模块化。
面向对象程序设计旨在提供可扩展的解决方案,这使得开发人员可以更快速地编写新的程序,减少了开发时间和成本。
3.可维护性(Maintainability):面向对象程序设计的模块化特性使得代码更易于维护。
当需要修改或扩展程序时,只需关注特定模块的实现细节,而不会影响其他模块。
1.什么是结构化程序设计方法?这种方法有哪些优点和缺点?【解答】结构化程序设计方法是指20世纪60年代开始出现的高级语言程序设计方法,由于采用了数据结构化、语句结构化、数据抽象和过程抽象等概念,使程序设计在符合客观事物与逻辑的基础上更进了一步。
结构化程序设计的思路是:自顶向下、逐步求精。
程序结构由具有一定功能的若干独立的基本模块(单元)组成,各模块之间形成一个树状结构,模块之间的关系比较简单,其功能相对独立,模块化通过子程序的方式实现。
结构化程序设计方法使高级语言程序设计开始变得普及,并促进了计算机技术的深入应用。
虽然结构化程序设计方法采用了功能抽象、模块分解与组合,以及自顶向下、逐步求精的方法,能有效地将各种复杂的任务分解为一系列相对容易实现的子任务,有利于软件开发和维护;但与面向对象程序设计方法相比,结构化程序设计存在的主要问题是,程序的数据和对数据的操作相互分离,若数据结构改变,程序的大部分甚至所有相关的处理过程都要进行修改。
因此,对于开发大型程序具有一定的难度,软件的可重用性差,维护工作量大,不完全符合人类认识世界的客观规律。
2.面向对象程序设计有哪些重要特点?【解答】软件设计的目的是为了解决日常生活中存在的各种实际问题,面向对象程序设计与以往各种程序设计方法的根本区别是程序设计的思维方法的不同。
它主要具有如下重要特点:(1)面向对象程序设计实现了较直接地描述客观世界中存在的事物(即对象)及事物之间的相互关系,它所强调的基本原则是直接面对客观事物本身进行抽象,并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。
(2)面向对象的程序设计将客观事物看作具有属性和行为的对象,通过对客观事物进行抽象来寻找同一类对象的共同属性(静态特征)和行为(动态特征),并在此基础上形成类。
(3)面向对象的程序设计将数据和对数据的操作封装在一起,提高了数据的安全性和隐蔽性。
第1章面向对象程序设计概述3(4)面向对象的程序设计通过类的继承与派生机制以及多态性特性,提高了软件代码的可重用性,因而大大缩减了软件开发的相关费用及软件开发周期,并有效地提高了软件产品的质量。
面向对象程序设计思想面向对象程序设计(Object-Oriented Programming,简称OOP)是一种以对象为中心的编程范式,它将现实世界中的事物抽象为对象,并通过对象之间的交互来实现程序的运行。
面向对象程序设计的核心思想包括封装、继承和多态。
封装封装是面向对象程序设计中最基本的概念之一。
它指的是将数据(属性)和操作数据的方法(行为)组合在一起,形成一个对象。
封装的目的是隐藏对象的内部细节,只暴露出一个可以被外界访问的接口。
这样,对象的使用者不需要了解对象内部的实现细节,只需要通过接口与对象进行交互。
例如,在一个银行系统中,我们可以创建一个`Account`类,该类封装了账户的基本信息(如账号、余额)和对账户的操作(如存款、取款)。
用户在使用`Account`类时,只需要调用相应的方法,而不需要关心这些方法是如何实现的。
继承继承是面向对象程序设计中另一个重要的概念。
它允许一个类(子类)继承另一个类(父类)的属性和方法。
通过继承,子类可以扩展或修改父类的行为,而不需要重新编写代码。
继承支持代码的复用,使得程序设计更加简洁和高效。
例如,假设我们有一个`Animal`类,它定义了所有动物共有的属性和方法。
我们可以创建一个`Dog`类,它继承自`Animal`类。
`Dog`类将继承`Animal`类的所有属性和方法,并且可以添加一些特有的属性和方法,如`bark`。
多态多态是面向对象程序设计中的一个重要特性,它允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
多态性使得程序设计更加灵活和可扩展。
多态性通常通过抽象类和接口来实现。
抽象类定义了一个或多个抽象方法,而具体的子类则提供了这些抽象方法的实现。
接口则定义了一组方法规范,不同的类可以实现同一个接口,但提供不同的实现。
例如,假设我们有一个`Shape`接口,它定义了一个`draw`方法。
我们可以创建`Circle`、`Square`等类,它们都实现了`Shape`接口。
python面向对象程序设计的概念Python 面向对象程序设计(Object Oriented Programming,OOP)是一种编程范式,它将数据和相关的操作封装在一起,形成一个对象。
下面是Python 面向对象程序设计的一些重要概念:1、对象:对象是面向对象编程的基本单位,它是一个数据结构和相关操作的组合。
对象具有属性和方法,可以对其进行操作和处理。
2、类:类是对象的定义,它描述了对象的属性和方法。
类定义了对象的类型,并用于创建对象的实例。
3、封装:封装是将对象的属性和方法结合在一起,隐藏其内部实现细节,只暴露必要的接口给外部使用。
这样可以提高代码的可维护性和安全性。
4、继承:继承是面向对象编程中的重要特性,它允许一个类从父类继承属性和方法。
子类可以继承父类的特性,并可以根据需要进行扩展和修改。
5、多态:多态是指不同的对象在接收到相同的消息(方法调用)时,能够根据自身的特性进行不同的响应。
这种特性使得代码更加灵活和可扩展。
6、实例:实例是类的具体表现,它是根据类创建的对象。
每个实例具有类定义的属性和方法,可以进行独立的操作和处理。
7、属性:属性是对象的特性或状态,用于描述对象的特征。
属性可以是数据类型的值,如整数、字符串等。
8、方法:方法是与对象相关的操作或函数,用于修改对象的属性或执行特定的任务。
方法可以接受参数,并返回结果。
9、构造函数:构造函数是类中的特殊方法,用于在创建对象时进行初始化操作。
它可以为对象的属性设置初始值。
10、访问修饰符:访问修饰符用于控制类的属性和方法的访问权限,包括公有的(public)、私有的(private)和受保护的(protected)。
通过使用这些概念,Python 面向对象程序设计可以更好地组织和管理代码,提高代码的重用性和可维护性。
简述面向对象程序设计四个基本特征及其含义。
面向对象程序设计(Object-Oriented Programming,简称OOP)是一种以对象为基本单位的编程范式。
它的核心思想是通过将真实世界中的事物抽象为对象,并通过对象之间的交互来完成任务。
面向对象程序设计有四个基本特征,分别是封装、继承、多态和抽象。
下面将对这四个基本特征及其含义进行简述。
一、封装(Encapsulation)封装是面向对象程序设计的基石,它指的是将数据和对数据的操作封装在一个单独的单位中。
在面向对象的世界中,这个单位就是对象。
通过封装,对象对外部世界隐藏了其内部的细节,只暴露出一些特定的接口供外部访问。
这样可以更好地实现了数据的安全性和灵活性,同时也提高了代码的可维护性和重用性。
二、继承(Inheritance)继承是面向对象程序设计的重要特征,它允许我们定义一个新的类(称为子类或派生类),从已经存在的类(称为父类或基类)中继承其属性和方法。
通过继承,子类可以获得父类的属性和方法,并且可以在此基础上进行扩展或修改。
继承提供了代码的重用性,使得我们可以更加高效地组织和管理代码。
三、多态(Polymorphism)多态是面向对象程序设计的核心特征之一,它允许我们使用统一的接口来处理不同类型的对象。
多态性使得我们可以在运行时根据实际情况选择不同的方法实现,从而实现了灵活性和可扩展性。
通过多态,我们可以编写出更加通用和可复用的代码,同时减少了代码的重复性。
四、抽象(Abstraction)抽象是面向对象程序设计的关键特征之一,它指的是将事物的共性特征提取出来形成一个抽象的概念,而忽略其具体的细节。
通过抽象,我们可以定义出一个通用的类或者接口,作为其他类的模板。
抽象使得我们可以关注对象的本质和功能,而不关心其具体的实现细节。
通过抽象,我们可以更好地设计和组织代码,提高代码的可读性和可维护性。
综上所述,面向对象程序设计的四个基本特征——封装、继承、多态和抽象,为我们提供了一种更加灵活、可扩展和易于维护的编程范式。
面向对象程序设计的概念面向对象程序设计(Object-Oriented Programming,OOP)是一种以对象为核心的程序设计范型。
面向对象的程序设计强调将系统看作是由各种不同的对象组成的,对象之间通过消息传递来通信和协作,从而完成系统的功能。
这种设计思想使得程序具有更高的可读性、可维护性和可扩展性。
1. 对象和类:在面向对象程序设计中,对象是程序的基本单元,代表了一个实体或者概念。
每个对象都有自己的属性(数据)和方法(行为)。
而类是对象的抽象,用于描述具有相同属性和方法的一组对象。
对象是类的实例,通过实例化类来创建对象。
2. 封装:封装是面向对象程序设计的重要特点之一,它将数据和方法集成在对象内部,并对外部隐藏实现细节。
通过封装,可以将复杂的系统划分为多个模块,并定制不同的接口,提高系统的安全性和可维护性。
3. 继承:继承允许一个类派生出子类,并从父类继承其属性和方法。
子类可以通过继承来增加或修改父类的功能,实现代码的复用。
继承还能体现出类之间的层次关系,使得程序结构更清晰,易于理解和扩展。
4. 多态:多态是指同一个方法可以根据不同的对象调用出不同的行为。
多态性在程序设计中非常有用,它可以通过基类指针或引用来引用派生类对象,从而实现对不同对象的统一操作。
多态性可以提高代码灵活性和可扩展性。
5. 抽象:抽象是面向对象程序设计的核心思想之一,它使得程序能够将问题领域的实际概念映射到代码结构中。
通过抽象,可以定义类和接口来描述对象的属性和行为,将具体的实现细节分离出来,实现高内聚、低耦合的代码结构。
6. 消息传递:面向对象程序设计的通信机制是通过对象之间的消息传递来实现的。
对象通过向其他对象发送消息,请求执行某个行为或获取某个属性。
消息传递可以实现对象之间的协作和交互,从而完成复杂的系统功能。
7. 构造函数和析构函数:构造函数用于创建对象时进行初始化操作,可以为对象的属性赋初值。
析构函数在对象销毁时被调用,用于释放对象占用的资源。
面向对象的程序设计(Object-oriented programming, OOP)是一种常见的程序设计范式,它能够更好地模拟现实世界中的对象和交互关系。
在这篇文章中,我们将使用 Python 编程语言来探讨面向对象的程序设计,并结合一个汽车实例,帮助读者更好地理解和运用这一概念。
1. 面向对象的程序设计概述在面向对象的程序设计中,一切都是对象。
对象是软件系统中的组成单位,它可以是现实世界中的任何东西,比如汽车、动物、人类等等。
每个对象都有自己的属性和方法,属性描述了对象的状态,而方法则描述了对象的行为。
在 Python 中,我们可以通过类(class)来定义对象,类可以看作是对象的模板。
通过类,我们可以创建多个对象,并且这些对象都会共享类中定义的属性和方法。
这种思想在程序设计中有着广泛的应用,能够更好地组织和管理代码。
2. 汽车实例接下来,让我们通过一个简单的汽车实例来具体了解面向对象的程序设计在 Python 中的应用。
假设我们有一个汽车类,我们可以定义该类的属性和方法来描述汽车的特征和行为。
class Car:def __init__(self, brand, color, mileage):self.brand = brandself.color = coloreage = mileagedef drive(self, distance):eage += distanceprint(f"The {self.color} {self.brand} has driven {dis tance} miles.")在上面的例子中,我们定义了一个 Car 类,该类有三个属性(brand、color 和 mileage)和一个方法(drive)。
属性用于描述汽车的品牌、颜色和里程数,而方法则描述了汽车的行为——驾驶。
当我们创建一个 Car 对象并调用 drive 方法时,汽车的里程数会相应地增加,并且会输出行驶的里程数和汽车的颜色和品牌。
面向对象程序设计课后习题答案第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。
第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。
类和对象之间的关系是抽象和具体的关系。
类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
在面向对象程序设计中,总是先声明类,再类生成对象。
类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对象是现实世界中的一个实体,其具有以下一些特征:每一个对象必须有一个名字以区别于其他对象。
需要用属性来描述它的某些特性。
有一组操作,每一个操作决定了对象的一种行为。
对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。
例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
面向对象程序设计的概念面向对象程序设计(OOP)是一种程序设计方法,它将程序组织成一系列相互交互的对象,每个对象都有自己的特性和行为。
OOP的关键概念包括类、对象、封装、继承和多态。
这些概念的合理运用,可以使程序结构更加清晰、易于维护和扩展。
类是OOP的基本概念之一,它是一种抽象的数据类型。
类描述了对象的共同特性和行为。
通过类的定义,可以创建多个具有相同特性和行为的对象。
类由属性和方法组成。
属性表示对象的特性,是对象所拥有的数据;方法表示对象的行为,是对象可以执行的操作。
例如,一个"学生"类可以有属性"姓名"、"年龄"和"性别",以及方法"上课"和"做作业"等。
对象是类的实例,是类的具体表现。
对象具有类所定义的特性和行为。
通过创建对象,可以通过调用对象的方法执行相应的操作。
一个类可以有多个对象,每个对象的属性值可以不同。
例如,通过"学生"类创建了两个对象,一个对象的"姓名"属性为"Alice",另一个对象的"姓名"属性为"Bob"。
封装是面向对象程序设计的一种重要原则,它将相关的属性和方法封装在一个对象中,隐藏了对象的内部实现细节。
通过封装,对象对外部提供了一组接口,其他对象可以通过这些接口来访问对象的属性和执行对象的方法。
封装提供了信息隐藏和数据安全的方式,同时也简化了程序的调用和维护。
例如,一个"银行账户"对象封装了"账户余额"和"存取款"等操作,其他对象只能通过提供的接口来修改和查询"账户余额"。
继承是面向对象程序设计的另一个重要概念,它允许创建一个新的类,扩展已有类的属性和方法。
通过继承,新类可以继承已有类的属性和方法,并可以添加自己的特性和行为。
1.什么是结构化程序设计方法?这种方法有哪些优点和缺点?【解答】结构化程序设计方法是指20世纪60年代开始出现的高级语言程序设计方法,由于采用了数据结构化、语句结构化、数据抽象和过程抽象等概念,使程序设计在符合客观事物与逻辑的基础上更进了一步。
结构化程序设计的思路是:自顶向下、逐步求精。
程序结构由具有一定功能的若干独立的基本模块(单元)组成,各模块之间形成一个树状结构,模块之间的关系比较简单,其功能相对独立,模块化通过子程序的方式实现。
结构化程序设计方法使高级语言程序设计开始变得普及,并促进了计算机技术的深入应用。
虽然结构化程序设计方法采用了功能抽象、模块分解与组合,以及自顶向下、逐步求精的方法,能有效地将各种复杂的任务分解为一系列相对容易实现的子任务,有利于软件开发和维护;但与面向对象程序设计方法相比,结构化程序设计存在的主要问题是,程序的数据和对数据的操作相互分离,若数据结构改变,程序的大部分甚至所有相关的处理过程都要进行修改。
因此,对于开发大型程序具有一定的难度,软件的可重用性差,维护工作量大,不完全符合人类认识世界的客观规律。
2.面向对象程序设计有哪些重要特点?【解答】软件设计的目的是为了解决日常生活中存在的各种实际问题,面向对象程序设计与以往各种程序设计方法的根本区别是程序设计的思维方法的不同。
它主要具有如下重要特点:(1)面向对象程序设计实现了较直接地描述客观世界中存在的事物(即对象)及事物之间的相互关系,它所强调的基本原则是直接面对客观事物本身进行抽象,并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。
(2)面向对象的程序设计将客观事物看作具有属性和行为的对象,通过对客观事物进行抽象来寻找同一类对象的共同属性(静态特征)和行为(动态特征),并在此基础上形成类。
(3)面向对象的程序设计将数据和对数据的操作封装在一起,提高了数据的安全性和隐蔽性。
第1章面向对象程序设计概述3(4)面向对象的程序设计通过类的继承与派生机制以及多态性特性,提高了软件代码的可重用性,因而大大缩减了软件开发的相关费用及软件开发周期,并有效地提高了软件产品的质量。
(5)面向对象程序设计的抽象性和封装特性,使对象以外的事物不能随意获取对象的内部属性,有效地避免了外部错误对内部所产生的影响,减轻了软件开发过程中查错的工作量,减小了排错的难度。
(6)面向对象程序设计较直观地反映了客观世界的真实情况,使软件设计人员能够将人类认识事物规律所采用的一般思维方法移植到软件设计中。
3.面向对象与面向过程程序设计有哪些不同点?【解答】面向过程的程序设计方法将客观事物中本质上密切相关、相互依赖的数据和对数据的操作相互分离,这种实质上的依赖与形式上的分离使得大型程序既难以编写,也难以调试、修改和维护,代码的可重用性和共享性差。
而面向对象程序设计方法是一种以对象为基础,以事件或消息来驱动对象执行相应处理的程序设计方法。
它将数据及对数据的操作封装在一起,作为一个相互依存、不可分离的整体——对象;它采用数据抽象和信息隐蔽技术,将这个整体抽象成一种新的数据类型——类。
类中的大多数数据,只能通过本类方法进行操作和处理。
面向对象程序设计以数据为中心而不是以功能为中心来描述系统,因而非常适合于大型应用程序与系统程序的开发。
在程序结构上,面向对象程序与面向过程程序也有很大的不同。
面向过程的程序主要由顺序结构、选择结构和循环结构组成,程序的基本单位是函数,程序的执行顺序也是确定的。
而面向对象程序由类的定义和类的使用两部分组成,程序的基本单位是类,在主程序内定义对象,并确定对象之间消息的传递规律,程序中的所有操作都是通过向对象发送消息来实现的,对象接到消息后,通过消息处理函数完成相应的操作。
4.什么是面向对象方法的封装性?它有何优缺点?【解答】封装性指将对象的属性和行为代码封装在对象的内部,形成一个独立的单位,并尽可能隐蔽对象的内部细节。
封装性是面向对象方法的一个重要原则,C++面向对象方法的封装特性包含以下两层含义:第一层含义是将对象的全部属性和行为封装在对象内部,形成一个不可分割的独立单位。
对象的属性值(公有属性值除外)只能由这个对象的行为来读取和修改。
第二层含义是“信息隐蔽”,即尽可能隐蔽对象的内部细节,对外形成一道屏障,只保留有限的对外接口与外部发生联系。
面向对象方法的封装性具有以下特点:(1)封装性使对象以外的事物不能随意获取对象的内部属性,有效地避免了外部错误对它产生的影响,大大减轻了软件开发过程中查错的工作量,减小了排错的难度。
(2)封装性使得当程序需要修改对象内部的数据时,减少了因为内部修改对外部的影响。
(3)封装性使对象的使用者与设计者可以分开,使用者不必知道对象行为实现的细节,而只使用设计者提供的外部接口即可。
面向对象程序设计与Visual C++ 6.0教程题解与实验指导4(4)封装性事实上隐蔽了程序设计的复杂性,提高了代码重用性,降低了软件开发的难度。
(5)面向对象程序设计方法的信息隐蔽作用体现了自然界中事物的相对独立性,程序设计者与使用者只需关心其对外提供的接口,而不必过分注意其内部细节,即主要关注能做什么,如何提供这些服务等。
5.面向对象程序设计为什么要应用继承机制?【解答】在面向对象程序设计中,根据既有类(父类)派生出新类(子类)的现象称为类的继承机制,亦称为继承性。
面向对象方法的继承性是联结类与类的一种层次模型。
继承是面向对象程序设计能够提高软件开发效率的重要原因之一。
继承意味着派生类中无须重新定义在父类中已经定义的属性和行为,而是自动地、隐含地拥有其父类的全部属性与行为。
继承机制允许和鼓励类的重用,派生类既具有自己新定义的属性和行为,又具有继承下来的属性和行为。
当派生类又被它更下层的子类继承时,它继承的及自身定义的属性和行为又被下一级子类继承下去。
继承是可以传递的,符合自然界中特殊与一般的关系。
继承性具有重要的实际意义,它简化了人们对事物的认识和描述。
比如我们认识了飞行器的特征之后,再考虑飞机、飞船和弹道时,由于它们都具有飞行器的共性,于是可以认为它理所当然地具有飞行器的一般本质特征,从而只需把精力用于发现和描述飞机、飞船和导弹独有的特征。
面向对象程序设计中的继承性是对客观世界的直接反映。
通过类的继承,能够实现对问题的深入抽象描述,反映人类认识问题的发展过程。
6.什么是面向对象程序设计中的多态性?【解答】面向对象程序设计的多态性指父类中定义的属性或行为,被派生类继承之后,可以具有不同的数据类型或表现出不同的行为特性。
如类中的同名函数可以对应多个具有相似功能的不同函数,可使用相同的调用方式来调用这些具有不同功能的同名函数。
多态性使得同一个属性或行为(如函数)在父类及其各派生类中具有不同的语义,面向对象的多态特性使软件开发更科学、更方便和更符合人类的思维习惯,能有效地提高软件开发效率,缩短开发周期,提高软件可靠性,使所开发的软件更健壮。
7.什么是运行时多态?C++语言是如何实现运行时多态的?【解答】运行时多态是指,在程序的运行阶段才根据程序运行中产生的信息确定需要调用哪个同名的函数。
在C++中,运行时多态是通过继承和虚函数来实现的。
8.什么是面向对象中的消息?一条消息由哪几部分组成?【解答】在面向对象程序设计中,消息是描述事件发生的信息,是对象之间发出的行为请求。
事件一般由多个消息组成。
在面向对象方法中,消息是向某个对象提出执行该对象具有的特定服务的申请,不同对象之间通过发送消息向对方提出服务请求,接受消息的对象主动完成所请求的服务。
通常一条消息由接受消息的对象、消息名称和若干消息参数三部分组成。
面向对象中的消息机制为不同对象之间提供了一个动态联系的途径,使它们的行为能互相配合,第1章面向对象程序设计概述5构成一个有机的运行系统。
9.为什么说C++是混合型面向对象程序设计语言?【解答】C++是美国Bell实验室于20世纪80年代在C语言的基础上成功开发出来的,是目前已经得到广泛应用的混合型面向对象程序设计语言。
C++既可以用于结化程序设计,又可以用于面向对象程序设计,因此是一种混合型面向对象程序设计语言。
C++保留了C语言的全部优点,兼容C语言的语法,弥补了C语言的缺陷,且C程序不经修改可以直接在C++环境中使用。
同时,C++还增加了面向对象的方法与机制,全面支持面向对象程序设计方法。
10.C++支持多态性主要表现在哪些方面?【解答】多态性指在一般类中定义的属性或行为,被派生类继承之后,可以具有不同的数据类型或表现出不同的行为。
C++的多态性分为编译时多态和运行时多态。
编译时多态是指在程序的编译阶段由编译系统根据操作数或返回值不同,确定需要调用哪个同名的函数。
运行时多态是指在程序的运行阶段才根据程序运行中产生的信息,确定需要调用哪个同名的函数。
这些同名函数虽然名称相同但却具有不同的功能,因此将产生不同的操作。
在C++中,编译时多态是通过函数重载和运算符重载实现的,运行时多态是通过继承和虚函数来实现的。
11.面向对象的软件工程包括哪些主要内容?【解答】面向对象软件开发是目前软件开发的最新方法和程序设计的最新成果,面向对象的软件工程是面向对象方法在软件工程领域的全面应用,它主要包括以下内容:◆面向对象分析(OOA);◆面向对象设计(OOD);◆面向对象编程(OOP);◆面向对象测试(OOT);◆面向对象软件维护(OOSM)。
12.目前常用的面向对象程序设计语言有哪些?各有哪些特点?【解答】面向对象程序设计语言主要包括以下几种:◆Simula 67语言;◆Smalltalk语言;◆CLU语言;◆Ada语言;◆Modula-2语言;◆LOOPS语言;◆Flavors语言;◆CLOS语言;◆Visual Basic等可视化面向对象语言;◆C++语言;◆Java语言。
面向对象程序设计与Visual C++ 6.0教程题解与实验指导6Simula 67语言产生于20世纪60年代,具有类和对象的概念,被认为是最早具有面向对象概念的语言。
Smalltalk语言是美国Xerox Palo Alto研究中心于20世纪70年代初推出的面向对象程序设计工具,它完整地体现并进一步丰富了面向对象的概念,被认为是世界上第一个真正面向对象程序设计语言。
CLU、Ada、Modula-2都或多或少地引入了面向对象的概念,LOOPS、Flavors和CLOS是与人工智能语言相结合形成的面向对象程序设计语言。
Visual Basic是Microsoft于1991年在BASIC语言的基础上推出的可视化面向对象编程语言。
Visual Basic的产生标志着软件技术一个新时代的开始。
在Visual Basic之后,相继产生了Visual C++、Visual J++、Visual FoxPro、Borland Delphi及Power Builder等众多可视化程序语言。