zoukankan      html  css  js  c++  java
  • 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);
        }
    }
  • 相关阅读:
    NETCore中RabbitMQ的使用
    net core 中间件
    表达式和表达式树
    NET
    解决Net内存泄露原因
    Spring的IoC容器-Spring BeanFactory容器
    Spring的Hello World工程
    Linux下使用curl进行http请求(转)
    Java教程收集
    使用wget进行整站下载(转)
  • 原文地址:https://www.cnblogs.com/john69-/p/5297847.html
Copyright © 2011-2022 走看看