对象:

  • 在现实世界中是一个实体或者一个事物的概念,可以看作是一种具有自身属性和功能的构件。
  • 不关心其内部结构及实现方法,仅仅关心它的功能和它的使用方法,也就是该对象提供给用户的接口。
  • 类似于电视机这个对象,用户只关心如何通过按钮来使用它,这些按钮就是电视机提供给用户的接口。不关心电视机的内部结构或其实现原理。
  • 对象将其属性和操作的一部分对外界开放,作为对外接口,将大部分实现细节封装起来,这是对象的封装性。外界只能通过对象提供的接口来与对象交互。
  • 一个系统由多个对象组成,复杂的对象可由简单对象组成,称为聚合。对象之间的相互作用(通信)构成了软件系统的结构。

类:

  • 同样类型对象的抽象描述
  • 对象是类的实例(具体化)
  • 对相关类进行分析,抽取其共有的特点形成基类。
  • 通过继承,派生类可以包含基类的所有属性和操作,增加属于自己的一些特性。通过继承还可以将原来一个个孤立的类联系起来,形成层次清晰的结构关系,形成类族。

综上,面向对象的方法就是利用抽象、封装等机制,借助于对象、类、继承、消息传递等概念进行软件系统构造的软件开发方法。

抽象

  • 面向对象方法的核心
  • 数据抽象:为程序员提供了对对象属性和状态的描述
  • 行为抽象:对这些数据所需要的操作的抽象

封装

  • 将一个事物包装起来,不让外界了解它的详细内情
  • 有效实现了两个目标:对数据和行为的包装和信息隐藏

继承

  • 软件复用的一种方式,通过继承,一个对象可以获得另一个对象的属性,并且可以加入属于自己的一些特性。
  • 继承使得原本孤立的类有效组织起来,形成层次结构关系。
  • 通过继承可复用已有的类,将开发好的类作为构建放入构件库中可供以后开发时直接使用或继承(生成特殊类)。

多态

  • 多态性:一个接口,多种方式
  • 多态意味着同一属性或操作在一般类和特殊类中具有不同的语意
  • 举例:绘图时声明一个基类“几何图形”,在该类中定义一个“绘图的行为”,并定义该类的派生类“直线”、“椭圆”、“多边形”等,这些类都继承了基类中的“绘图”行为。基类中未定义具体的绘图方法,而是在各派生类当中根据需要对“绘图”重新定义。这样,当不同对象发出同一“绘图”命令时,各对象调用自己的“绘图”程序实现,绘制出不同的图形。

面向对象程序设计思想简述相关推荐

  1. C++面向对象程序设计思想(精)

    转载C++面向对象程序设计思想(精) C++面向对象程序设计 六年前,我刚热恋"面向对象"(Object-Oriented)时,一口气记住了近十个定义.六年后,我从几十万行程序中滚 ...

  2. Java面向对象程序设计思想(一)

    声明:学基础,在校学生,本文所有内容来自纯书本,然后通过自己的理解和参考编写而来,如有说的不对的地方,欢迎评论指错!(仅做学习交流) 类和对象的创建 类的创建:(public private prot ...

  3. 面向对象和面向过程:两种程序设计思想的基础介绍和对比

    一.面向过程程序设计 面向过程:程序=算法+数据结构 面向过程的核心理念是"步骤分解",即把需要解决的问题分成一个个步骤,并用不同函数来实现它们.设计思维"自顶向下,逐步 ...

  4. C 语言的标准输入对象是,《面向对象程序设计C+》期末试卷及标准答案

    <面向对象程序设计C++>期末考试试卷(A)班级:姓名:学号:分数: 试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在 其他地方均无效. (答题纸在本套试卷的第10页上) 一.选 ...

  5. [渝粤教育] 中国地质大学 面向对象程序设计 复习题

    <面向对象程序设计>模拟题 一.单选题 1.如果一个类中包含纯虚函数则该类称为(). A.抽象类 B.虚基类 C.派生类 D.子类 2.在类中将show声明为不带返回值的纯虚函数则正确的写 ...

  6. [渝粤教育] 中国地质大学 面向对象程序设计 复习题 (2)

    <面向对象程序设计>模拟题 一.单选题 1.如果一个类中包含纯虚函数则该类称为(). A.抽象类 B.虚基类 C.派生类 D.子类 2.在类中将show声明为不带返回值的纯虚函数则正确的写 ...

  7. 《MATLAB面向对象程序设计》

    <MATLAB面向对象程序设计> 基本信息 作者: 苗志宏    马金强 出版社:电子工业出版社 ISBN:9787121233449 上架时间:2014-6-18 出版日期:2014 年 ...

  8. java面向对象程序设计 论文_基于JAVA面向对象程序设计

    内容介绍 原文档由会员 xiaowei 发布 基于JAVA面向对象程序设计 ------------科学养兔项目分析 2.3万字 31页 摘要 本文报道了对面向对象程序设计思想的基本阐述,就科学养兔项 ...

  9. 第一节课 面向对象程序设计——认识对象

    面向对象程序设计及设计模式 --认识对象 一. 教学目标 1.   深刻了解"面向对象程序设计"的概念 2.   了解对象的特点 二. 教学重点 认识对象,分清事对象和物对象,分清 ...

最新文章

  1. LabelMe图像数据集下载
  2. 明晚8点公开课 | 用AI给旧时光上色!详解GAN在黑白照片上色中的应用
  3. altium designer pcb文件大
  4. Spring IOC 注入方式
  5. DL:关于深度学习常用数据集中训练好的权重文件(Deeplab v3、MobileNet、InceptionV3、VGG系列、ResNet、Mask R-CNN )下载地址集合(持续更新)
  6. 应用上下文webApplicationContext
  7. 如何解决EDM邮件营销中的图片难题
  8. Android Studio (11)---使用主题背景编辑器设计应用主题背景
  9. idea package自动生成_IDEA -- 自动创建POJO
  10. java有pyuserinput包吗_PyUserInput安装
  11. 任正非回应退休传闻;董明珠谈直播首秀“失败”;Wine 5.7 发布​| 极客头条...
  12. dnf机械机器人补丁_大熊家资金记账软件
  13. 因为M.2 SSD,不得不装了WINDOWS10
  14. mysql 事务不生效_@Transactional事务不生效的几种解决方案
  15. Video Copilot VCReflect for Mac/win (AE倒影插件) 支持2022多帧渲染​
  16. Retinex算法介绍
  17. 天思经理人ERP塑胶玩具行业应用方案
  18. php mvc cms企业站,HongCMS中英文企业网站系统
  19. 即时通讯开发,聊天软件搭建
  20. Chrome插件(扩展)开发全攻略(干货)

热门文章

  1. python -- Jupyter Notebook 扩展插件nbextensions几个功能的介绍
  2. 北京奥运开幕式点火方式提前曝光 (图)
  3. 什么是catalina?
  4. 安卓imageView倒角边框
  5. MySQL利用存储过程新增字段
  6. 精诚团结续写传说武汉新员工培训美团站长推荐这几家路线
  7. 关系数据库非关系数据库
  8. 如何解读上市公司的财务报告?
  9. ios 3D引擎 SceneKit 开发(3) --使用3dmax导出DAE文件
  10. 多款安卓智能手机被预安装恶意软件,包括三星、小米、联想