封装
来源:互联网 发布:乐知英语的公司在哪 编辑:程序博客网 时间:2024/04/24 21:30
1、
简介:可以把程序按某种规则分成很多“块”,块与块之间可能会有联系,每个块都有一个可变部分和一个稳定的部分。我们需要把可变的部分和稳定的部分分离出来,将稳定的部分暴露给其他块,而将可变的部分隐藏起来,以便于随时可以让它修改。这项工作就是封装。
2、意义:封装的意义在于保护或者防止代码(数据)被我们无意中破坏。相比我们将数据在程序中定义为公用的(public)我们将它定义为私有的(private)在很多方面会更好。私有的数据可以用两种方式来间接的控制。第一种方法:我们使用传统的存、取方法。第二种方法:属性(property)。目标就是在使用数据的同时不能使它受到任何的破坏。
3、
好处:一、使用者只需要了解如何通过类的接口使用类,而不关心类的内部数据结构和数据组织方法。
二、高内聚,低耦合一直是我们所追求的,用好封装恰恰可以减少耦合。
其三:只要对外接口不改变,可以任意修改内部实现,这个可以很好的应对变化
其四:类具有了简洁清晰的对外接口,降低了使用者的学习过程
用传统的读、写方法封装 让我们来看一个例子有一个类Department,为了操纵这个类中的数据(string departname)我们定义了一个读方法和一个写方法。
using system; public class Department
{
private string departname; ....... // 读方法
public string GetDepartname()
{
return departname;
} //写方法
public void SetDepartname( string a) {
departname=a;
}
}
通过上面的方法,我们可以保护私有数据不被外部程序所破坏。现在我们使用两个不同的方法来写和读数据
public static int Main(string[] args)
{
Department d = new Department();
d.SetDepartname("ELECTRONICS");
Console.WriteLine("The Department is :"+d.GetDepartname());
return 0;
}
在上面的例子中,我们不能直接访问类Department的实例d中的私有数据(string departname),我们只能通过这两个方法来访问。
用属性来实现封装 属性是c#引入的一种语言成分,只有很少的语言支持属性。通过对属性的读和写来保护类中的域。第一种方法体身也是一种好的方式,但用属性来实现封装会更方便。 现在我们来看一个例子:
using system;
public class Department
{
private string departname;
public string Departname
{
get { return departname; }
set { departname=value; }
}
}
public class Departmentmain {
public static int Main(string[] args)
{
Department d= new Department();
d.departname="Communication";
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- 封装
- TIJ读书笔记02-控制执行流程
- Input_poj1262_计算几何
- why what how???
- MD5加密
- 【noip2014】tyvj 4056飞扬的小鸟
- 封装
- 性能优化——内存优化(2)
- JS常见对象方法小结
- MATLAB 神经网络模板
- 【Hive】Hive0.13.1的安装及Hive运行RuntimeException Cannot make directory错误的解决
- 触发器
- IntentServcie实现分析
- 73. Set Matrix Zeroes
- Light oj 1003 - Drunk(拓扑排序, DAG)