在对象的世界里,一切皆为对象;对象与对象相互独立,互不干涉,但在一定外力的作用下对象开始共同努力

对象交互的实例

电视机大家都有吧,依照万物皆对象的思维模式来看,电视机可以是一个类,然后电视机有一些基本的方法如:

电视机类 TV

1.打开电视的方法open();

2.关闭电视的方法Close();

3.切换电视频道的方法change();

 class TV
{
//电视的状态
bool flag;
//打开电视的方法
public void open()
{
if (flag)
{
//如果电视为打开状态就不能再次打开
}
else
{
Console.WriteLine("电视已经打开");
flag = true;
}
}
//关闭电视的方法
public void Close()
{
if (flag)
{
Console.WriteLine("电视已经关闭");
flag = false;
}
else
{
//如果电视为关闭状态就不能再次关闭 }
}
//切换频道的方法
public void change(string name)
{
if (flag)
{
Console.WriteLine("电视一切换频道到"+name);
}
else
{
//如果电视为关闭状态就不能换台 }
}
}

大家想,手动的去开关电视是不是特别的麻烦;然后就出现了电视遥控器:

遥控器类 RC

1.打开电视的方法open();

2.关闭电视的方法Close();

3.切换电视频道的方法change();

 class RC
{
//打开按钮
public void open()
{ }
//关闭按钮
public void Close()
{ }
//换台按钮
public void change()
{ }
}

我们怎么才能做到,按遥控器的按钮就能对电视进行对应的操作了?是不是把电视机的方法绑定到遥控器上就可以了!

代码如下:

 class RC
{
//声明一个TV类的对象,接受要遥控的电视对象
TV tv;
//将电视的对象传入遥控器;就是万能遥控绑定电视机的过程
public void binding(TV tv)
{
this.tv = tv;
}
//打开按钮
public void open()
{
tv.open();
}
//关闭按钮
public void Close()
{
tv.Close();
}
//换台按钮
public void change( string name)
{
tv.change(name);
}
}

然后就可以用遥控器遥控电视了!!

static void Main(string[] args)
{
//买一个电视
TV tv = new TV();
//拿出遥控
RC rc = new RC();
//将遥控器绑定到电视上
rc.binding(tv);
//打开电视
rc.open();
//换个台
rc.change("CCTV");
//关闭电视
rc.Close(); Console.ReadLine();
}

运行结果:

大家是不是对<对象交互>有一定的了解了呢;

最新文章

  1. oracle根据某个字段去重实例
  2. [Java入门笔记] 面向对象编程基础(一):类和对象
  3. 区间dp总结篇
  4. 【转载】 Spark性能优化指南——基础篇
  5. MapReduce多重MR如何实现
  6. codeforces 505A. Mr. Kitayuta&#39;s Gift 解题报告
  7. Android分享中,如何过滤指定的应用,并且对不同的分享方式发送不同的内容?
  8. HTML第九天学习笔记
  9. 修改npm包管理器的registry为淘宝镜像(npm.taobao.org)
  10. sockaddr结构体
  11. Eclipse Java,debug模式无法调试,调试按钮不可用时解决办法
  12. iOS----------has copy command from(bug修复)
  13. eclipse--常见问题
  14. 分享一个整理Mac储存空间的软件,有效清理xcode的垃圾
  15. Java中使用FileputStream导致中文乱码问题的修改方案
  16. Zabbix 3.0 LTS安装配置
  17. C# 数组基础知识
  18. 一个java程序员该具备的工具
  19. CKFinder 弹出窗口操作并设置回调函数
  20. 删除节点removeChild()

热门文章

  1. c#编程基础之函数可变参数
  2. 用eclipse开发项目时遇到的常见错误整理,和配套解决方案(1)
  3. Grunt学习使用
  4. Aspose.Cells导出Excel(2)
  5. 分享一些学习资料-大量PDF电子书
  6. Exception thrown by the agent : java.rmi.server.ExportException: Port already in use
  7. php静态缓存简单制作
  8. Vue.js 入门指南之“前传”(含sublime text 3 配置)
  9. [deviceone开发]-动态添加组件add方法的示例
  10. js sort() reverse()