面向对象经典例子理解
Java面向对象(转)
Java语言是面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
但是相信对一些初学者来说,面向对象真的是弄不清是怎么一回事,下面是我听张孝祥老师视频中是几个面向对象的经典小例子。可以这么说,完全理解了这几个例子,那你就可以说入门啦!!!
下面几个例子用面向对象编程思想来简单的写出他们之间的关系。
引用传智博客张孝祥老师视频讲解。
一、球从一根绳的一端移动到了另一端
- class Rope
- {
- private Point start;
- private Point end;
- public Rope(Point start,Point end)
- {
- this.start=start;
- this.end=end;
- }
- public Point nextPoint(Point currentPoint)
- {
- //通过Point对象的提供的放哪广发,就可以计算出当前点的下一个点,在设计阶段,不详细说明
- //如果当前点是终点,则返回null,如果当前点不是线上的点,则抛出异常。
- }
- }
- class Ball
- {
- private Rope rope;
- private Point currentPoint;
- public Ball(Rope rope,startPoint)
- {
- this.rope=rope;
- this.currentPoint=statPoint;
- }
- public void move()
- {
- currentPoint=rope.nextPoint(currentPoint);
- System.out.println("小球移动到了"+currentPoint);
- }
- }</span>
二、两块石头磨成一把石刀 Stone,石刀 StoneKnife可以砍树 Tree,砍成木材 Meterial,木材做成椅子Chair。
- 木材做成椅子
- Chair chair=ChairFactory.makeChair(meterial);
三、列车司机刹车把火车停住 。
- {
- //别的功能,如拐弯,开车,等等
- //刹车功能
- public void stop()
- {
- }
- }
- class TrainDriver
- {
- //调用火车的刹车动作
- new Train().stop();
- }</span>
四、我在黑板上画圆。
- {
- //画圆功能
- public Circle drawCircle()
- {}
- }
- class Person
- {
- new Blackboard().drawCircle();
- }</span>
总结:以上是理解面向对象的几个经典例子,我是听传智博客中的张孝祥老师的视频,自己总结的,感觉经典,就写下来如大家分享。如果有不正确的地方,请大家多多指正。
面向对象经典例子理解相关推荐
- Js面向对象的程序设计——理解对象
Js面向对象的程序设计 Js面向对象的程序设计 理解对象 属性类型 Js面向对象的程序设计 理解对象 示例 : var person=new Object(); person.name="N ...
- python爬虫经典教程-python爬虫经典例子有哪些
python爬虫例子:首先导入爬虫的库,生成一个response对象:然后设置编码格式,并打印状态码:最后输出爬取的信息,代码为[print(response.text)]. python爬虫例子: ...
- java继承类型转换_#java 一个简单的例子理解java继承、成员函数重写、类型转换...
一个简单的例子理解java继承.成员函数重写.类型转换 1.继承简介 举一个简单的例子:笔分为很多种,比如毛笔.钢笔.圆珠笔等等,这些笔都有一些相同的属性比如长度.笔迹的粗细等等:但他们也有不同的特点 ...
- js堆和栈的区别_几个例子理解不同数据类型的堆栈内存处理
如有错误烦请指正 js代码的运行环境 浏览器 内核(引擎) node webview(hybrid,嵌入到手机app里面,在app里面运行) ... 下面通过几个例子理解不同数据类型的堆栈内存处理 j ...
- 面向过程和面向对象的本质理解
http://kiritor.blog.51cto.com/7400479/1226762/ 面向过程和面向对象的本质理解 面向过程就是分析出解决问题所需的步骤,面向对象则是把构成问题的事物分解成对象 ...
- 用例子理解java7内存结构
一个例子理解全部 为了理解的比较深刻,先给一个例子.通过例子讲解印象更加深刻吧,假设我们在idea或者是任何IDE环境中定义了一个类. 有一个person类 public class Person{i ...
- 用实际例子理解回调函数(Calback)
用实际例子理解回调函数(Calback) 在我们编码的过程中,调用和回调几乎无处不在,但是我对回调函数到底是怎样一回事并没有一个真正透彻的理解,最近我查找学习了一些资料,学到了很多. 我参考了一些知乎 ...
- 算法-动态规划学习(含经典例子分析)
文章目录 前言 一.动态规划是什么? 二.经典例子 爬楼梯问题 挖金矿问题 三.总结 前言 在leetcode刷题的过程中,碰到了许多动态规划相关的题目,故系统性的学习了动态规划算法.此文章总结了学习 ...
- graphviz 经典例子
以下在Jupyter Notebook中编辑运行: # 由于pygraphviz的功能有点少,基本放弃对它的使用,改用python库 graphviz 进一步原因如下: # graphviz 是用于& ...
最新文章
- python编程程序设计_程序设计入门—Python
- Transformer性能被高估?DeepMind动态评估模型的时间泛化能力
- P4859-已经没有什么好害怕的了【容斥,dp】
- 在Oracle里,表的别名不能用as,列的别名可以用as
- 谷歌 | 多任务学习,如何挑选有效的辅助任务?只需一个公式!
- Java笔记-JNI的基本使用(Java调用C++的dll)
- 阿里AI获NLP顶会比赛冠军,达摩院计划推出首个通才型AI医生
- 【HNOI2003】【BZOJ1216】操作系统(模拟,优先队列)
- spring oracle数据源配置,spring的多数据源配置(spring+ibatis + oracle环境下)
- jumserver 官方文档和
- 饮冰三年-人工智能-Python-11之HelloWorld
- java实现文件夹的复制(包括子文件夹以及子文件)
- 在uniapp中配置并colorui及阿里图标
- 忘记linux虚拟机密码怎么办
- 设计模式-行为型软件设计模式(四)
- 计算机游戏act指的是什么游戏,忍龙2领衔!5款史上最佳的ACT游戏推荐,值得一玩!...
- 【网络知识】Wireshark抓不到vlan tag问题解决
- 差点跑进奥运会赛场的“人类计算机之父”
- 那些不回你微信的人都在看什么?
- 使用tushare计算北上资金持仓成本
热门文章
- 石门县西北乡的路是全国最烂的省级公路
- EN 14313:PEF聚乙烯泡沫CE认证
- JAVA定时器 配置org.springframework.scheduling.quartz.CronTriggerBean
- 离线文档浏览工具Zeal的下载和使用
- 网易云音乐评论生成Wordcloud(词云)
- 法律专家谈游戏侵权:如何避免侵权,如何维权
- 查看主机IP端口与快解析的内网映射
- 完美解决Python解决字符串转16进制数据
- darknet框架 VS2017 平台工具集141_Nvidia推出Omniverse平台,可远程进行2D/3D多软件实时协作...
- [双语阅读]全球幸福指数大调查 富国反而不快乐