面向对象基本概念

面向对象的意义在于

将日常生活中习惯的思维方式引入程序设计中

将需求中的概念直观的映射到解决方案中

以模块为中心构建可复用的软件系统

提高软件产品的可维护性和可扩展性

类和对象是面向对象中的两个基本概念

类:指的是一类事物,是一个抽象的概念

对象:指的是属于某个类的具体实现

类是一种模型,这种模型可以创建出不同的对象实体

对象实体是类模型的一个具体实现

一个类可以有很多对象,而一个对象必然属于某个类。

类和对象的意义

类用于抽象的描述一类事物所持有的属性和行为

如:电脑拥有CPU,内存和硬盘,并且可以开机和运行程序

对象是具体的事物,拥有所属类中描述的一切属性和行为

如:每一只老虎都有不同的体重,不同食量以及不同的性情

一些有趣的问题:

类一定存在实际的对象吗?

类的对象数目是确定的吗?

类一定都来源于现实生活中吗?

类都是独立的吗?类之间存在关系吗?

对象实例一定只属于一个类吗?

对象实例可能完全相同吗?

小结:

面向对象是当今软件开发中的重要方法

类和对象是面向对象理论中的基本概念

类和对象均来源于日常生活中

每个类可以有多个对象

每个对象必然属于某个类

C++ 第13课 进阶面向对象 上 ---- (狄泰软件学院)相关推荐

  1. C++笔记 第十三课进阶面向对象(上)---狄泰学院

    如果在阅读过程中发现有错误,望评论指正,希望大家一起学习,一起进步. 学习C++编译环境:Linux 第十三课 进阶面向对象(上) 你考虑过吗? 日常生活中,我们都习惯于对事物进行分类.那么,这种分类 ...

  2. 第三课、Qt的诞生和本质------------------狄泰软件学院

    一.GUI用户界面元素 (1).GUI应用程序是由固定的窗口元素所构成 (2).操作系统提供了创建用户界面元素所需要的函数 (3).各自功能不同的函数依次调用,从而创建出界面元素 (4).操作系统提供 ...

  3. 第五十二课、命令行参数的应用------------------狄泰软件学院

    一.主窗口的状态参数 1.主窗口的状态参数 (1).应用程序必须保存和恢复主窗口的状态参数(位置.大小等) 2.应用程序退出的过程 (1).收到关闭事件 (2).执行关闭事件处理函数 (3).主窗口从 ...

  4. 第七课、Qt中的坐标系统------------------狄泰软件学院

    一.坐标系统 1.GUI操作系统都有特定的坐标系统 2.图形界面程序在坐标系统中进行窗口和部件的定位 3.定位类型 (1).顶级窗口部件的定位 (2).窗口内部件的定位 (3).窗口部件大小的设置 4 ...

  5. 第十五课、用户界面与业务逻辑的分离------------------狄泰软件学院

    一.界面与逻辑 1.基本程序框架一般包括 (1).用户界面模块(UI) A.接受用户输入及呈现数据 (2).业务逻辑模块 A.根据用户需要处理数据 二.基本设计原则 1.功能模块之间需要进行解耦 2. ...

  6. 第十六课、Qt对象间的父子关系------------------狄泰软件学院

    一.Qt对象间的关系 1.Qt对象间可以存在父子关系 (1).每个对象都保存有它所有子对象的指针 (2).每一个对象都有一个指向其父对象的指针 2.当指定Qt对象的父对象时 (1).其父对象会在子对象 ...

  7. 第二十九课、主窗口中的状态栏------------------狄泰软件学院

    一.主窗口中的状态栏 1.状态栏的概念和意义 (1).状态栏是应用程序中输出简要信息的区域 (2).状态栏一般位于主窗口的最底部 (3).状态栏中的消息类型 A.实时消息:如当前程序状态 B.永久消息 ...

  8. 第十三课、类族的结构进化-------------------狄泰软件学院

    一.遵循经典设计原则 DTLib中的所有类位于单一继承树 IvalidOperationEXception是新增的异常类,描述某些成员函数在状态不对的时候被抛出 二.改进的关键点 1.EXceptio ...

  9. Java小白进阶笔记(5)-进阶面向对象

    继续学习: 7.偏头痛杨的Java入门教学系列之进阶面向对象篇 上Java课的时候没弄明白接口,今天终于明白了(但没使用过,还停在理论的程度,可能理解也不准确,以后学通了会回来补充:)如果你刚学Jav ...

最新文章

  1. 万维网发布服务 w3svc 已停止 除非万维_W3C万维网联盟宣布停止发布HTML 5.3版
  2. python流程控制语句-Python_流程控制语句
  3. 创建对象的序列化文件 - SoapFormatter,binaryFormatter以及XmlSerializer序列化文件的比较...
  4. linux下测试宽带速度
  5. MySQL 5.7建表时date类型提示默认值类型错误的问题处理
  6. MySQL 5.7 新特性详解
  7. matlab张量工具初步
  8. [文摘20090203]手机基本知识
  9. MySQL Cluster7.2.4 集群配置
  10. 序号47指标横向展示.xlsx_电力监控系统安全防护规定Akey310参数指标
  11. ----vue项目打包之浏览器存在缓存问题----
  12. mysqlbinlog: unknown variable 'default-character-s
  13. linux内核之设备驱动
  14. VAF:高级Web模糊测试工具
  15. 附合导线坐标计算例题_闭合附合导线计算(课件例题)
  16. SWAT模型学习(三)
  17. sqlplus工具linux,sqlplus 工具的使用
  18. 广州物流展相关的个人总结
  19. 精力管理-健康生活 高效工作
  20. 微信小程序时间格式倒计时

热门文章

  1. allegro 导入ADS Layout的方法
  2. Linux笔记:串口通讯工具minicom基础使用
  3. tomcatJava程序老是死掉
  4. 《数字中国建设整体布局规划》出炉,背后蕴含的数字城市巨大机遇
  5. 百度站长工具 - 如何添加子域名 - 批量添加子站 - 网站收录推广
  6. GGB如何画一个任意移动的半椭圆
  7. 【源码分享】-wpf界面源代码分享
  8. 无限火力开启服务器炸了,LOL无限火力:玩家发现这6个英雄成型后,互相单挑,服务器会爆炸...
  9. 自媒体爆文怎么写?只需要掌握这3大写作技巧
  10. 话说那黄信上马 水浒传