winform :C#与数据库重点知识

放置图片的方法:
1、设置一个imagelist,并且添加图片
2、添加一个listview控件,并绑定largeImageList
3、为listview设置items,并为每个项设置imageIndex

详细视图

1、设置view默认Details
2、设置列头 ------》colums----->text
3、绑定数据-------》items
-----》行数据的第一项,直接设置items的text
----》行数据的其他项,设置items的subitems的text

巧妙卸货方法!!!!
while{
item1.Text=reader[0];
item1.SubItem.Add(reader[1]);
}

结构类型:
1、结构可对比类进行学习
2、结构中的字段不能赋初始值
3、结构创建对象的时候不能new
4、结构建议使用在字段较少、修改频率较少的情况下

第一章
1、封装的好处
1)保存数据的安全性
2)提供清晰的对外接口
3)类内部实现可以任意修改,不影响其他类

2、类和对象的关系
1)由对象归纳为类,是归纳对象共性的过程
2)在类的基础上,将状态和行为实体化为对象的过程称为实例化
类是对象的抽象
类是对象的类型
类是对象的模板
对象是类的实例

第二章
1、引用类型和值类型的联系的区别
1)值类型保存的是具体的值
2)引用类型保存的是值的地址

2、结构和类的联系和区别
1)类型不同:结构是一种值类型,而类是引用类型。值类型用于存储数据的值,引用类型用于存储对实际数据的引用。那么结构体就是当成值来使用的,类则通过引用来对实际数据作。
2)存储不同:结构使用栈存储而类使用堆存储。栈的空间相对较少。但是存储在栈中的数据访问效率相对较高。堆的空间相对较大。但是存储在堆中的数据访问效率相对较低
3)作用不同:类是反映现实事物的一种抽象,而结构体的作用只是一种包含了具体不同类别数据的一种包装,结构体不具备类的继承多态特性。

3、结构在使用过程中的使用注意
1)可以不用new,直接定义结构的对象即可。
2)声明结构的对象后,必须给结构的成员赋初始值。

4、请列出常见的值类型和引用类型
//值类型变量
int i=10;
Console.WriteLine(“i的原值:”+i);
Add(i);
Console.WriteLine(“但是i的值并没有因为函数的修改而修改”+i);
//引用类型变量
Person person=new Person();
Console.WriteLine(“Blood的原值:”+person.Blood);
Add(person);
Console.WriteLine(“但是Blood的值因为函数的修改而修改”+person.Blood);

5、请列出不同类型参数传参并标记参数变化保留情况
1、值方式传递值类型 不保留
2、值方式传递引用类型 保留
3、引用方式传递值类型 保留
4、引用方式传递引用类型 保留

6、什么是拆箱装箱
1)装箱:用于在垃圾回收堆中存储值类型。装箱时值类型到object类型或到此值类型所实现的任何借口类型的隐式转换。
2)拆箱:从object类型到值类型或从接口类型到实现该接口的值类型的显示转换。
【扩展】
装箱,程序设计或对外贸易中的词汇。

7、如何解决将数组1复制到数组2的引用问题
赋值memcpy(b,a,sizeof(a))

第三章
1、请定义一个ArrayList集合,要求:
A:新增至“张三”、123、true
B:删除下标为2的元素
C:用for遍历获取所有的值

2、请定义一个String类型的泛型集合,要求:
A:用初始化器初始化以下值:“张三”、“李四”、“王五”
B:用新增的方法新增值“赵六”
C:删除下标为2的元素
D:删除值为“李四”的元素
E:清除集合所有的元素
F:用for和foreach循环获取集合的值

3、请定义一个Hashtable集合,要求:
A:新增键值对
B:删除农业银行
C:请用三种方法循环遍历该集合

4、请定义一个DIctionary集合,要求:
A:新增键值对(CBC,建设银行)、(ABC,农业银行)、(ICBC,工商银行)
B:删除农业银行
C:请用三种方法循环遍历该集合

5、请简述泛型集合的重要性
1)性能高。普通集合的数据,需要装箱和拆箱的操作,而泛型无须类型的装换操作
2)类型安全。泛型集合对它所存储的对象进行了类型的约束,不是它所允许存储的类型是无法添加到泛型集合中的。
3)实现代码的重用。泛型就相当于模板,由于它支持任意的数据类型,开发人员不必为每种特定的数据类型编写一套方法,所以它具有极大地可重用性。泛型编程是未来的主流技术之一。

第四章
构造函数(方法)特点:
1、构造方法是一个特殊的方法,他是一个方法名和类名相同,没有返回值的方法
2、构造方法在创建对象(实例化)的时候就会运行
3、每个类都默认有一个无参的构造函数,假如自己写了一个构造函数就会将默认的构造函数覆盖
4、构造函数作用是初始化对象(即初始化对象的属性值)

方法重载:
1、在同一个类中,方法名相同,参数列表可以不相同
2、参数列表不同是指参数的个数或者参数的类型不一致

第六章
构造函数的继承
1)初始化子类(对象)实例,首先进入父类的无参构造(默认),在进入子类的无参构造
2)子类构造函数会默认继承父类的无参构造,隐式有行:base()建议父类一定要有无参构造
3)子类可以调用父类的构造函数,使用base(参数列表)
4)子类调用了父类的成员,用base关键字

继承:
好处:提取类中冗余代码、提取代码的可重用性。
特性:
单根性:子类只能有一个亲生父亲。
传递性:父类可以将共有的属性、方法共享给后代。
多态:
性质:同一个操作,针对于不同对象,产生不一样的结果。
使用虚方法来实现多态:
父方法:
public virtual string SayHi(){}
子方法:
public override string SayHi(){子类的实现}

1)继承必须符合is a的关系
2)base关键字可以调用父类属性,方法和构造函数
3)虚方法可以实现多态

第七章
面向对象的三大特性:
封装:保证对象自身数据的安全性和完整性
继承:建立类之间的关系,实现代码复用,方便系统的扩展
多态:同一个操作,针对于不同对象,产生不一样的结果。

里氏替换: is a , as

使用抽象方法和虚方法都可以实现多态。

重载与重写的区别
重载overload,重写override
形式:1)重载,方法名相同,参数列表不同;2)重写,方法名,返回值,参数列表都相同
范围:重载:是编译时的静态分派,同一个类中。重写:运行时动态分派,发生在继承的父子类中
权限:重载:没有权限限制。重写:子类的覆写的方法权限不能比父类的访问权限小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值