面向对象继承第三天

54 阅读1分钟

一、里式转换

1.子类可以赋值给父类:如果有地方需要父类作为参数,我们可以给一个子类代替

image.png 2.如果父类中装的是子类对象,那么可以将这个父类强转为子类对象。

image.png 3.子类对象可以调用父类中的成员,但是父类对象永远都只能调用自己的成员。

二、

**is** :表示类型转换,如果转换成功,则返回一个true,否则返回一个false。
**as** :表示类型转换,如果转换成功,则返回对应的对象,否则返回一个null

三、protected

受保护的:可以在当前类的内部以及该类的子类中访问

四、ArrayList的各种方法

  1. list.Clear(); 清空所有元素
  2. list.Remove(true); 删除单个元素 写谁就删谁
  3. list.RemoveAt(0); 根据下标去删除元素
  4. list.RemoveRange(0,2); 根据下标,移除给定范围内的元素
  5. list.Sort(); 升序排序,注意数据类型,否则无法比较
  6. list.Reverse(); 逆转元素,1,2,3 -> 3,2,1 ;
  7. list.Insert(1, "插入元素"); 在指定下标位置插入元素
  8. list.InsertRange(2, new string[] { "111", "222" }); 在指定位置插入集合
  9. bool b=list.Contains(1); 判断是否包含某个指定的元素

五、ArrayList集合长度问题

每次集合中实际包含的元素个数(count)超过了可以包含的元素个数(capcity)的时候,集合就会向内存中申请开辟多一倍的空间,来保证集合的长度一直够用。

六、Hastable 键值对集合 键和值对应。

在键值对集合当中,我们是根据键去找值的。
键值对对象[键]=值;
**键值对集合当中,键必须是唯一的,而值是可以重复的。**