一、复习
ArrayList——实训操作
二、新课
ArrayList
- CustomerList[0]
- 以下代码将CustomerList中第一个元素设置为字符串“Hello”:
- CustomerList[0] = "Hello";
- Add(Object):将参数指定的Object添加到ArrayList的末尾处。该方法的返回值为已在此处添加了Object的索引。
- Clear:从ArrayList中移除所有元素。
- Insert(index,value):在ArrayList中将value指定的Object插入index指定的索引处。
- RemoveAt(index):从ArrayList中移除index指定索引处的元素。
- Remove(value):从ArrayList中移除value指定的对象的第一个匹配项。
- Contains(value):在ArrayList中查找value指定的对象。如果在ArrayList中找到指定的对象,则为返回true;否则为false。
- IndexOf(object):搜索指定的object,如果在整个ArrayList中找到object的第一个匹配项,则为该项的从零开始的索引;否则为-1。
- IndexOf(object,int):从指定索引到最后一个元素之间搜索指定的Object,并返回部分ArrayList(从指定索引到最后一个元素)中第一个匹配项的从零开始的索引。
- IndexOf(value,startIndex,count):从startIndex开始并包含count所指定的元素数中搜索指定的Object,如果找到value的第一个匹配项,则为该项的从零开始的索引;否则为-1。
继承
面向对象编程(OOP)的三大特性
1、封装性
2、继承性
3、多态性
(一)继承
规则:
•C#只允许单继承,即派生类只能有一个基类,不允许有多个基类;•C#的继承是可传递的;•派生类扩展它的直接基类,即派生类可以添加新的成员,但不能删除从基类继承的成员;•派生类可以隐藏基类的成员,如果在派生类中声明了与基类同名的新成员时,基类的改成员在派生类中就不能被访问到;•构造函数和析构函数不能被继承。
2、定义派生类
定义派生类的格式为:
类修饰符 class类名 : 基类
{
类体
}
在类定义中,通过在类名的后面加上冒号和基类名表示继承。其他内容与定义类一样。
3、派生类的构造函数
如果类不包含任何实例构造函数声明,则自动提供一个默认实例构造函数。默认构造函数只是调用直接基类的无参数构造函数。如果直接基类没有可访问的无参数实例构造函数,则发生编译时错误。
构造函数是不能继承的,如果派生类需要构造函数,必须声明它。
因为构造函数时不能被继承的,所以在派生类中必须定义派生类的构造函数。
在派生类中,可以使用base关键字调用基类的构造函数初始化基类的成员。
在派生类构造函数的一般格式为:
派生类构造函数名(派生类参数列表):base(基类参数列表)
{
初始化语句
}
4、访问和隐藏基类成员
1)访问基类成员
可以在派生类中使用base关键字访问基类的成员。
base.Print()
注意:不能在静态方法中使用base关键字。
2)成员隐藏
在派生类中,通过定义与基类同名的新成员可以隐藏基类的成员,从而达到修改基类成员的目的。为了达到隐藏基类成员的目的,必须在派生类成员的声明中加上new修饰符,否则编译器在编译时会发出警告信息。
5、禁止继承
C#提供一种不能被继承的类,称为密封类。如果想定义密封类,只需要在定义类时,使用sealed修饰符。