Head First C# 中文版 图文皆译 第七章 接口和抽象类 page276
来源:互联网 发布:周杰伦影响力知乎 编辑:程序博客网 时间:2024/05/22 06:06
问:为什么我要使用接口而不是把我需要的方法全部写到类里面?
答:随着你写的复杂的程序的增多,你将会写出很多类。接口帮你把会做同一件事儿的类组织起来。例如你可以让一个卡车类和一个帆船类实现ICarryPassenger接口。假设ICarryPassenger接口定义一个ConsumeEnergy()方法。这样,即使卡车使用柴油而帆船使用风能,你的程序也可以使用这两个类来承载乘客。假如没有ICarryPassenger接口。你就必须自己去一个个的检查,看看哪个类中定义的有搭载乘客的方法。而这些方法的名字有可能五花八门,不尽相同。也有可能它们根本就是嵌入在别的方法内部。你很快就会发现这样是很让人迷惑的。
问:为什们要使用属性呢?只用字段不可以吗?
答:问得好。接口只去定义类做事儿的方式。它本身不是对象,你无法实例化接口,它也就无法存储数据。要声明变量,C#就要有地方存储该变量--但是接口本身无法存储变量。
问:普通的对象引用和接口引用有什么区别?
答:通过对象引用可以访问类中的所有成员,而通过接口引用只可以访问接口定义的成员。
问:既然接口引用会限制对象可以做的事,那么我干嘛还要用它呢?
答:接口让你可以操作很多个不同类型但是可以做相同的事情的对象。虽然每一个实现类实现同名方法的方式或许有差异,但是你通过接口引用调用它们的方式--传递进去的参数、返回的值,都是一致的。
问:我为什么要把一些成员声明为protected,而不是public或者private呢?
答:这样可以帮你更好的封装。很多时候子类需要访问父类的私有成员。而public是要在有确切的需要的时候才使用的,所以使用protected可以把成员对于子类开放,对于其他人封闭。
接口引用只可以访问该接口中定义的方法、属性。
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page276
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page251
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page252
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page253
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page254
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page255
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page256
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page257
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page258
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page259
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page260
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page261
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page262
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page263
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page264
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page265
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page266
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page267
- web.xml中关于log4j的设置及范例说明
- 计算机64位技术
- 不实现java.util.Comparator也能对象集合排序
- oracle各版本下载地址
- 国内网页设计网站网址大全
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page276
- 每日创建一表脚本
- 头好晕,感冒了!
- 架构设计:生产者/消费者模式[0]:概述
- iphone终于出来了
- [coldfusion] custom tag paried 与empty的区别
- 在VS2008下搭建Silverlight2.0开发环境
- 根据Hibernte的cfg文件生成sql文件
- 评论:从简单法则说开去 软件功能愈多愈好吗?