面向对象的一些概念及举例说明
来源:互联网 发布:编程中绝对值怎么表示 编辑:程序博客网 时间:2024/06/06 03:27
面向对象方法具有以下4个要点:
(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象以某种方式组合而成。即面向对象的方法用对象分解取代了传统方法的功能分解。
(2)把所有对象都划分成各种对象类,每个对象类都定义了一组数据和方法。数据用于表示对象的静态属性,是对象的装填信息。
(3)按照子类(或称为派生类)与父类(或成为基类)的关系,把若干个对象类组合成一个层次结构的系统。
(4)对象彼此之间仅能通过传递消息互相联系,即封装性(黑盒子)。
综上所述:只有同时使用对象、类、继承和消息的方法才是真正面向对象的方法,否则只能称之为基于对象的方法。
对象的特点:
(1)以数据为中心;(2)对象是主动地;(3)实现了数据封装;(4)本质上具有并行性;(5)模块独立性好。
相关概念:
(1)类:类是对具有相同属性和行为的一个或是多个对象的描述。
(2)实例:由某个特定的类所描述的一个具体的对象,即对象是类的实例化。
(6)封装:把数据和实现操作的代码集中起来放在对象内部。即将对象看成是不透明的黑盒子,达到了信息隐蔽的目的,外人无法探知细节。
(7)继承:子类从基类中直接获得已经定义的数据和方法的机制,不用重复定义,有效减少了程序的冗余信息。
(8)多态:同样的消息在发送过程中,既可以发给父类对象,也可以发给子类对象,不分类等级。然而不同层次中的每个类按照各自的需要来实现这个行为(方法)。这样做能显著提高软件的可重用性和可扩充性。
(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象以某种方式组合而成。即面向对象的方法用对象分解取代了传统方法的功能分解。
(2)把所有对象都划分成各种对象类,每个对象类都定义了一组数据和方法。数据用于表示对象的静态属性,是对象的装填信息。
(3)按照子类(或称为派生类)与父类(或成为基类)的关系,把若干个对象类组合成一个层次结构的系统。
(4)对象彼此之间仅能通过传递消息互相联系,即封装性(黑盒子)。
综上所述:只有同时使用对象、类、继承和消息的方法才是真正面向对象的方法,否则只能称之为基于对象的方法。
对象的特点:
(1)以数据为中心;(2)对象是主动地;(3)实现了数据封装;(4)本质上具有并行性;(5)模块独立性好。
相关概念:
(1)类:类是对具有相同属性和行为的一个或是多个对象的描述。
(2)实例:由某个特定的类所描述的一个具体的对象,即对象是类的实例化。
(3)消息:要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。
【通常,一个消息由三个部分组成:接收消息的对象、消息名、零个或多个变元。eg:MyCircle.Show(Green)】
(4)方法:对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法,响应消息的方法,在C++语言中将方法称为成员函数。
【若是Circle类的对象能够响应让它在屏幕显示自己的消息Show(Green),那么在Circle类中必须给出成员函数Show(int Color)的定义,即给出成员函数的实现代码】(5)属性:指类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的每个实例都有自己的特有属性值。
【例如Circle类中定义的代表圆心坐标、半径、颜色等数据成员就是圆的属性】(6)封装:把数据和实现操作的代码集中起来放在对象内部。即将对象看成是不透明的黑盒子,达到了信息隐蔽的目的,外人无法探知细节。
(7)继承:子类从基类中直接获得已经定义的数据和方法的机制,不用重复定义,有效减少了程序的冗余信息。
(8)多态:同样的消息在发送过程中,既可以发给父类对象,也可以发给子类对象,不分类等级。然而不同层次中的每个类按照各自的需要来实现这个行为(方法)。这样做能显著提高软件的可重用性和可扩充性。
0 0
- 面向对象的一些概念及举例说明
- 面向对象的一些概念
- 面向对象的一些概念
- 面向对象及构造函数的一些理论概念
- 一些面向对象概念
- C++面向对象的一些概念
- 面向对象的一些基本核心概念
- c++面向对象和c面向过程的一些概念
- 面向对象中的一些概念
- 面向对象的一些基本概念及应用
- 面向对象概念及对象、抽象、类的解释
- 面向对象的概念
- 面向对象的概念
- 面向对象的概念
- 面向对象的概念
- 一些面向对象的概念在JavaScript中的对应体现
- Java面向对象的一些概念和原理
- 接口、抽象、委托 --------面向对象相关的一些概念
- Foj 2203 Problem 2203 单纵大法好 stl应用
- 麻省理工公开课:线性代数
- 前行的路
- 解决UIGestureRecognizer手势与视图上其他滑动视图的冲突
- ksh 格式化输出
- 面向对象的一些概念及举例说明
- 关于线程操作的waitpid()
- adb 命令
- 【bzoj4144】[AMPPZ2014]Petrol
- 【转】不要学习代码,要学会思考
- 《UNIX网络编程》中的unp.h和config.h
- android手游渠道接入业务+技术全讲解
- 【温故而知新】【3】时钟分频-半整数分频N.5
- 关于mysql_affected_rows()