一次添加N个用户控件

来源:互联网 发布:pc蛋蛋近三期的算法 编辑:程序博客网 时间:2024/05/16 05:44

有一个 数量 txtNum 一个 名称 txtName 将这2个textbox的值 赋值到 添加的N 个控件里去

不太明白 赋值到N哥控件里是什么意思,请楼主在详细点

现在面对大量冗余的信息,不能直接筛选出简单有用的信息才会问这样的问题,特别是这样概念性的东西,巧妙的记忆也是很关键的。
我之前也是死活记不住这应用,但是网络上的一个信息很关键:
abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。
abstract有一种反应本质的含义,比如猫是动物,狗也是动物,所以可以写一个抽象类:动物,然后猫和狗都继承动物抽象类。
interface有一种行为含义,更加具体的意义,比如定义一个接口:行为,行为中有很多方法:玩耍,吃饭,睡觉,然后猫和狗实现行为接口,他们就都要实现具体的方法:如何玩耍,如何吃饭,如何睡觉。
在设计上有这样的一个概念:一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
上面的例子设计思路就是:首先定义行为的接口,然后定义抽象类动物实现行为接口,然后再到具体的类实现动物抽象类。
记忆的方式每个人都不一样,选择合适自己的方法来记忆很关键。

横看接口竖看类:横向扩展用接口;纵向扩展用抽象基类;横向和纵向都扩展,用抽象基类继承接口。
差异较大的对象中追求功能上的相同时,使用接口;
差异较小的对象中追求功能上的不同时,使用抽象接类

interface和class在设计上都是一样的,都是is-a。如果你把本不应该看作is-a的东西用类型的接口约束来表达(而不是仅仅表达为类型中的一个属性),肯定概念上也是乱的。

在抽象的彻底上,接口要超过抽象类,接口全是抽象,抽象类可以有具体的字段方法等
接口是对事物行为方法的抽象,抽象类是对事物特征及其行为方法的抽象
接口作为抽象的最顶层,可以被抽象类继承
一个类能实现多个接口,但只能继承于一个类

可能因为这两个东西在编译器上定义不同,所以容易刻意去过多考虑其“区别”。
在面向对象设计时,至少在系统概要设计时,根本不需要考虑去区分class还是interface。当你去区分该使用class或者interface的时候,已经过分具体了。
如果你一定要在设计时(而不是编码时)class和intrface中选一个,那么无奈地,只能选择interface进行设计。这是因为.net的class不支持多重继承,只能用interface来表达。也就是说,你在设计时可以只用接口来表达对象类之间的继承概念,然后在编码时才考虑使用class还是interface来标识设计时的接口概念。实际上设计时的接口也就是类型,是同一个东西。

例如你可以在设计时用“类型关联图”画出一个关于“电动自行车”的类,它继承了“自行车”类,也继承了“电动机械”类,还继承了“环保”类,这就是设计。
此时去用编程的“class还是interface”来刻意区别,对设计没有什么意义。

在理解“区别”的时候,就可以看出你是“先设计后编程”还是“先编程后设计”。class与interface的差别是.net的具体差别,不同的编程语言有不同的实现面向对象设计的机制,有许多更优秀的并且历史更悠久以至于c++、java和.net都是在模仿人家的语言,设置根本没有interface而只有class概念。

把设计和编程区分开,然后再理解class和ineterface的区别。如果你在理解class和interface的区别时也过多纠缠进了设计问题,就会影响你的面向对象设计技术的简洁实用性。
来源:篮球殿堂
原创粉丝点击