C# 怎么封装类?

假如说我想让一段程序代码,往listbox或者listview里不断输入信息!这样的程序,用不用封装成类?因为是listbox还是listview都不一定,该怎么封装?封... 假如说我想让一段程序代码,往listbox或者listview里不断输入信息!
这样的程序,用不用封装成类?
因为是listbox还是listview都不一定,该怎么封装?

封装有没有什么规则? 什么能封装,什么不能?
展开
 我来答
xiangjuan314
2016-01-06 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2867万
展开全部
用属性来实现封装
属性是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";
Console.WriteLine("The Department is :{0}",d.Departname);
return 0;
}
}
通过上面的例子,我们可以看到如何通过属性来实现封装。属性具有两种操作get和set。Get用来返回属性域的值。Set通过value这个变量来给属性域赋值。属性可以设为只读的(read-only)。这只需属性只具有一个set操作。

只读属性

using system;
public class ReadDepartment
{
private string departname;
public ReadDepartment(string avalue)
{
departname=avalue;
}
public string Departname
{
get
{
return departname;
}
}
}
public class ReadDepartmain
{
public static int Main(string[] args)
{
ReadDepartment d= new ReadDepartment("COMPUTERSCIENCE");
Console.WriteLine("The Department is: {0}",d.Departname);
return 0;
}
}
在上面的例子中我们看到了如何来实现一个只读的属性。类ReadDepartment拥有一个Departname属性只实现了get操作。它省略了写操作。这个特别的类拥有一个构造器,用来接受一个字符串变量。类ReadDepartmain中的Main方法创建了一个新的对象d。对像d的实例使用了类ReadDepartment带有一个字符串参数的构造器。因为上面的属性是只读的,所以我们不给给域departname赋值并且我们只侧读取此域中的值。当然属性也可以是只写的(write-only),这只需属性只具有一个get操作。

只写属性

using system;
public class WriteDepartment
{
private string departname;
public string Departname
{
set
{
departname=value;
Console.WriteLine("The Department is :{0}",departname);
}
}
}
public class WriteDepartmain
{
public static int Main(string[] args)
{
WriteDepartment d= new WriteDepartment();
d.departname="COMPUTERSCIENCE";
return 0;
}
}
在上面的例子中我们看到了如何来实现一个只写的属性。类WriteDepartment拥有一个Departname属性只实现了set操作。它省略了读操作。
yanxueqing_621
2010-04-26 · 超过13用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:53.8万
展开全部
你没有弄清什么是封装,封装性是类的三大特性之一,是一种特性,不是你能控制的东西,如果你明白这一点下次你就不会再问能不能封装这样的问题了吧,另外listbox和listview本身就是一个做好的类,让你使用的。高级编程一般都是用的类,c#是更与c++相比封装性更强越高级的语言封装性越强,好多类都是直接做好的像你问的这两个都是已经做好的类,越高级的语言对于工作量大的软件工程开发越容易但是也有确定就是内部的实现你自己不能很好的控制。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
书香万里飘
2010-04-29 · 超过73用户采纳过TA的回答
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:155万
展开全部
什么都能封装!~万物皆对象,这正是OOP的精髓....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lee860807
推荐于2018-03-04 · TA获得超过332个赞
知道小有建树答主
回答量:746
采纳率:0%
帮助的人:555万
展开全部
可能你还不理解封装的概念

其实任何时候都可以封装,封装的规则就是使代码更为合理和方便

比如你想不断的输入信息进一个容器,那么你就写一个插入数据的方法

然后当你想要不断输入信息的时候你就不断的调用此方法而不用重新再些一个类

似或者相同的方法了,这就叫封装
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
914066828
2010-04-26 · TA获得超过687个赞
知道小有建树答主
回答量:1353
采纳率:0%
帮助的人:668万
展开全部
没什么规则
你想怎么写都行
比如继承listbox
添加个
add(string value) 方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式