你的位置:首页 > ASP.net教程

[ASP.net教程]S2深入.NET编程总结


不知从几何时,我也开始变得懒了,以往为了学习的那股子斗劲也早已不在,是时候反思反思了。失败的检测成绩希望可以把我唤醒。

     

经过总结,在本书中大概学到了这些知识:

1、如果一个类可序列化,则它的子类和包含的各成员对象也一定可序列化

   问题出在了子类,如果子类压根不能进行序列化操作,则会抛出异常。

 

2、如果要使用父类变量指向子类对象,就要满足多态的条件。

 

3、实现多态的方法:

  虚方法实现多态和使用abstract关键字来修饰父类,在子类中使用override进行重新父类方法   来实现多态。

 

4、字典集合无下标,所以也就没有RemoveAt() 方法。

 

5、protected访问修饰符修饰的属性,在其子类中同样可以使用。

 

6、在C#中,( C)关键字用于子类的构造函数明确指明调用的父类的构造函数。

 

7、密封类不可以实现多态,解析:密封类不可以被继承,更不可能实现多态。

 

8、ArrayList集合索引自动维护,解析:

//分析如下C#代码片断,运行后输出的结果是(Google)。ArrayList list = new ArrayList();list.Add("Sina");list.Add("Yahoo");list.Add("Google");list.RemoveAt(1);Console.WriteLine(list[1]);  

 

9、检查某一个 文件是否存在,如果已经存在则直接打开,如果不存在则创建一个,可以使用FileMode的OpenOrCreate

 

10、结构体在定义时不可以直接为结构中的成员进行赋值;类则可以。

 

11、

//关于如下C#的代码,说法正确的是(C);public class A{  string S1;  protected string S2;  protected void M1(){}}public class B : A{  protected string S3;}a)  在A中可以访问S3 解析(父类中不可以访问子类受保护成员)b)  在B中可以访问S1 解析( 如果类中变量没哟访问修饰符修饰,默认访问修饰符是private)c)  在B中可以访问S2  解析(可以:因为其访问修饰符是protected类型)d)  在M1( ) 中可以访问S3  解析(不可以在父类方法中访问子类字段)

 

12、静态变量可以不出现在静态类中;在静态方法中不可以直接使用非静态成员(可以使用对象" . "出非静态成员进行使用);非静态方法中可以直接使用静态成员。

 

13、实现方法的重载: 方法名相同,参数不同,与返回值类型无关。

 

14、父类对象as子类对象,失败后,不会报错,返回值为null。

public class A{ }public class B : A{  static void Main()  {    A a = new A();    B b = a as B;    if (b == null)      Console.WriteLine("null");    else       Console.WriteLine(b is A);  }}