十三、面向对象程序设计
1、面向对象基本概念
面向对象的意义在于:
- 将日常生活中习惯的思维方式引入程序设计中
- 将需求中的概念直观的映射到解决方案中
- 以模块为中心构建可复用的软件系统
- 提高软件产品的可维护性和可扩展性
类和对象是面向对象中的两个基本概念
- 类:指的是类事物,是一个抽象的概念
- 对象:指的是属于某个类的具体实体
- 类是种模型,这种模型可以创建出不同的对象实体
- 对象实体是类模型的一个具体实例
一个类可以有很多对象,而一个对象必然属于某个类
类之间的基本关系
继承:
- 从已存在类细分出来的类和原类之间具有继承关系
- 继承的类(子类)拥有原类(父类)的所有属性和行为
组合
- 一些类的存在必须依赖于其它的类,这种关系叫组合
- 组合的类在某一个局部上由其它的类组成
继承是单向的,子类继承父类所有的属性和行为
#include <stdio.h>struct Biology {bool living;
};struct Animal : Biology {bool movable;void findFood() { }
};struct Plant : Biology {bool growable;
};struct Beast : Animal {void sleep() { }
};struct Human : Animal {void sleep() { }void work() { }
};int main()
{return 0;
}
2、小结
类之间可以存在继承关系或组合关系
继承关系中子类拥有父类的一切属性和行为
组合关系是类之间整体和部分的关系
类及类之间的关系可以有不同的表示法
编译器对类的表示法有具体的要求
十三、面向对象程序设计相关推荐
- 张季跃 201771010139《面向对象程序设计(java)》第十三周学习总结
张季跃 201771010139<面向对象程序设计(java)>第十三周学习总结 实验部分: 1.实验目的与要求 (1) 掌握事件处理的基本原理,理解其用途: (2) 掌握AWT事件模型的 ...
- 面向对象程序设计课程进度条
面向对象程序设计课程进度条 周次 (阅读/编写)代码行数 发布微博量/博客评论数量 课堂/课余学习时间(小时) 最满意的编程任务 第一周 42/25 1/0 4/3 乘法表实验 第二周 150/100 ...
- 焦旭超 201771010109《面向对象程序设计课程学习进度条》
...
- 赵栋 201771010137 《面向对象程序设计(java)》课程进度表
...
- php面向对象程序设计,PHP面向对象程序设计类的定义与用法简单示例
本文实例讲述了PHP面向对象程序设计类的定义与用法.分享给大家供大家参考,具体如下: class Person { private $name; private $sex; private $age; ...
- 常惠琢 201771010102《面向对象程序设计(java)》第七周学习总结
实验七 继承附加实验 实验时间 2018-10-11 1.实验目的与要求 (1)进一步理解4个成员访问权限修饰符的用途: (2)掌握Object类的常用API用法: (3)掌握ArrayList类用法 ...
- 2017《面向对象程序设计》寒假作业一
1.你有什么技能比大多人(超过70%以上)更好? 我看电影比一般人多一点点:我听英文歌比一般人多一点点:我有一把尤克里里和一个滑板.我有很多爱好,但都没能发展成我的特长,它们给我的生活增添了情趣,又不 ...
- java面向对象电子科大版答案_电子科大17秋《面向对象程序设计》在线作业1
电子科大17秋<面向对象程序设计>在线作业1 ----------------------------------------------------------------------- ...
- 20155328 《Java程序设计》 实验二(Java面向对象程序设计) 实验报告
20155328 <Java程序设计> 实验二(Java面向对象程序设计) 实验报告 单元测试 一.单元测试和TDD 编程时需理清思路,将编程需求等想好,再开始编.此部分可用伪代码实现. ...
- JavaScript中的面向对象程序设计
本文内容目录顺序: 1.Object概念讲述: 2.面向对象程序设计特点: 3.JavaScript中类和实例对象的创建: 4.原型概念: 5.原型API: 6.原型对象的具体使用:7.深入理解使用原 ...
最新文章
- 原创 | 数据资产确权浅议
- Microsoft Bot Framework 上手
- matlab找数据的转账点,nodejs开发EOS转账服务的两种方案
- web前端入门学习 css(8)(新增语义化标签、video/audio、新增input类型、新增表单属性、属性选择器、结构伪类选择器、伪元素选择器、css3盒子模型、模糊、calc函数、过渡
- gcnew 与 new 的区别
- android path 合并_Android合并音频文件
- ui vue 创建项目教程 并关闭语法_使用vue ui命令创建vue项目步骤
- 儿童手表怎么删除联系人_儿童节来了,送孩子400多元的超值礼物,儿童手表9X评测分享...
- oracle 根据用户备份,Oracle基于用户的备份及恢复
- python+opencv中imread函数第二个参数的含义
- 【BZOJ2324】营救皮卡丘,费用流
- paip.android 手机输入法制造大法
- C#连接oracle数据库提示ORA-12154: TNS: 无法解析指定的连接标识符
- 模板方法模式(模板方法设计模式)详解——小马同学@Tian
- java mysql字符串拼接_Oracle与MySQL字符串拼接
- python基础(一):入门必备知识
- 计网习题总结,附答案
- JAVA除数为0报错?
- js实现鼠标滚轮缩放图片
- In-Class Essay结构范文分享