面向对象的概念

9.1.1 面向对象的技术的由来

9.1.2 基本概念

可以这样认为:“面向对象=对象+类+继承+通信。”如果一个软件系统是使用这样四个概念来设计和实现的,我们认为这个软件系统是面向对象的。

对象(object)

对象是面向对象开发方法的基本成分。每个对象可用它本身的一组属性和其上的一组操作来定义。对象可以是现实生活中的一个物理对象,还可以是某一类概念实体的实例。比如,一辆汽车、一个人、一本书,乃至一种语言、一个图形、一种管理方式,都可以作为一个对象。

从分析和设计的角度来看,对象表示了一种概念,它们把有关的现实世界的实体模型化。实体的有关声明有:描述实体,包括实体的属性和可以执行的操作。比如对于汽车这个对象,它的重量、颜色都可以作为对象的属性,它可以执行的操作可以是行驶、鸣笛等。

类(class)

类是一组具有相同数据结构和相同操作的对象的集合。类是对一系列具有相同性质的对象的抽象,是对对象共同特征的描述。比如每一辆汽车是一个对象的话,所有的汽车都可以作为一个模板,我们就定义汽车这个类。

在一个类中,每个对象都是类的实例,可以使用类中提供的方法。从类定义中产生对象,必须有建立实例的操作,C++和C#中的new操作符可用于建立一个类的实例,C#为我们提供的方法则更安全。

继承(inheritance)

继承是使用已存在的定义作为基础建立新定义的技术。新类的定义可以是即存类所声明的数据和新类所增加的声明组合。新类复用即存在的定义,而不要求修改即存类。即存类可以作为基类来引用,而新类可以作为派生类来引用。这种复用技术大大降低了软件的开发费用。

例如,汽车作为一个类已经存在,作为具有自身特征的卡车就可以从汽车类中继承。它同汽车一样,具有颜色、重量这些特征,可以行驶和鸣笛。它还具有一般汽车不一定具备的特征,比如可以载货等。

时间: 2024-12-01 17:26:37

面向对象的概念的相关文章

JAVA程序员必读:基础篇(2)面向对象编程概念

编程|程序|程序员|对象|概念 如果你以前从来没有使用面向对象语言,你需要在开始编写JAVA代码之前先理解这个概念.你需要理解什么是对象.什么是类.对象和类的关系怎样以及使用消息怎样在对象之间进行通讯.本教程的前面部分将描述面向对象编程的概念,而后面的教程将教你怎样将这个概念编成代码. 2.1什么是对象 对象是一些相关的变量和方法的软件集.软件对象经常用于模仿现实世界中我们身边的一些对象.对象是理解面向对象技术的关键.你在学习之前可以看看现实生活中的对象,比如狗.桌子.电视.自行车等等.你可以发

c++ 面向对象,概念问题

问题描述 c++ 面向对象,概念问题 类之间的 containsA 和 isA 关系分别指什么呀,说是后者以公有继承实现,那么前者怎么实现 解决方案 举例: class Body { }; class Head { }; class Person { public: Body body; Head head; }; class ChinesePerson { }; body.head和Person的关系是Person contains head and body. ChinesePerson和P

《面向对象的思考过程(原书第4版)》一第1章 面向对象的概念简介

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,[美] 马特·魏斯费尔德(Matt Weisfeld) 著 第1章 面向对象的概念简介 很多程序员其实并不知道在20世纪60年代就已出现面向对象的软件开发方式.尽管受欢迎的面向对象的编程语言(例如Smalltalk和C++)已被广泛使用,但直到90年代中后期面向对象范式才开始快速发展.面向对象方法论的兴起恰逢互联网作为商业及娱乐平台之际.总之,对象借助网络能良好协作.后来显然互联网存活下来,而面向对象的技术已经在开发新的

php 面向对象详解_面向对象的概念

  第七章(1)面向对象详解_面向对象的概念 什么是类:组成一个对象的过程称为类. 什么是对象:类组成的东西叫对象. 类与对象之间的关系:对象由类组合而来,先有类才有对象. 什么是成员属性:定义成员静态描述. 如:人的姓名,性别,身高,体重...... 什么是成员方法:定义成员动态描述.能实现一些什么功能 如:人能吃饭,走路,开车,说话...... 如何去抽象一个类: class 类名 如:人类 {  成员属性:姓名,身高,体重...  成员方法:走路,说话,吃饭,开车... } 例题: cla

ruby 面向对象思维 概念_ruby专题

面向对象是一个挺让人迷惑的措辞.叫一切东西都是面向对象会让别人觉得你很时髦. Ruby 声称自己是面向对象的脚本语言;但究竟什么才是"面向对象"?  我们已经有了各种各样的答案,但所有这些恐怕都归结于同一件事.与其快速地概括它,不如让我们先花点儿时间考虑一下传统的编程模式. 传统意义上,一个编程问题从出现的各种数据,以及处理数据的过程(procedures)着手.在这一模式下,数据是呆板,被动和无用的;它完全的求助于那个体积庞大的,主动的,逻辑性的,全能的过程体. 这一做法的问题在于程

《面向对象的思考过程(原书第4版)》一1.1 基本概念

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,第1.1节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著 1.1 基本概念 本书主要目标是让你学会思考如何将面向对象概念应用于面向对象的系统设计中.历史上定义面向对象的语言拥有以下特点:封装(encapsulation).继承(inheritance)和多态(polymorphism).因此,如果设计一门语言时没有完全实现以上特性,那么通常我们认为该语言不是完全面向对象的.即使实现了这三点,我也往往会加入组

简述Python中的面向对象编程的概念_python

面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度. 而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象

PHP中实现面向对象编程(上)

编程|对象 这篇文章介绍在PHP的面向对象编程(OOP).我将演示如何用面向对象的概念编出较少的代码但更好的程序.祝大家好运. 面向对象编程的概念对每一个作者来说都有不同的看法,我提醒一下一个面向对象语言应有的东西: - 数据抽象和信息隐藏 - 继承 - 多态性 在PHP中使用类进行封装的办法: class Something { // In OOP classes are usually named starting with a cap letter. var $x; function se

PHP中实现面向对象编程

编程|对象   这篇文章介绍在PHP的面向对象编程(OOP).我将演示如何用面向对象的概念编出较少的代码但更好的程序.祝大家好运. 面向对象编程的概念对每一个作者来说都有不同的看法,我提醒一下一个面向对象语言应有的东西: - 数据抽象和信息隐藏 - 继承 - 多态性 在PHP中使用类进行封装的办法: class Something { // In OOP classes are usually named starting with a cap letter. var $x; function