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();
Console.WriteLine(list[]);
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);
}
}
S2深入.NET编程总结的更多相关文章
- C/C++ 笔试题
/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...
- C/C++笔试题(很多)
微软亚洲技术中心的面试题!!! .进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2 ...
- C语言面试题大汇总
static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么差别?1) 引用必须被初始化,指针不必.2) 引用初始化以后不能被改变,指针能够改变所指的对象. ...
- 201771010126 王燕《面向对象程序设计(Java)》第九周学习总结
实验九 异常.断言与日志 实验时间 2018-10-25 1.实验目的与要求 (1) 掌握java异常处理技术: 异常积极处理方法:使用try子句捕获异常 异常小计处理方法:抛出throw异常类 (2 ...
- 马昕璐201771010118 《面对对象程序设计(java)》第九周学习总结
第一部分:理论知识学习部分 异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. Java把程序运行时可能遇到的错误分为两类: 非致命异常:通过某种修正后程序还能继续执行. 致命异常:程序 ...
- 201771010134杨其菊《面向对象程序设计java》第九周学习总结
第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...
- 王之泰201771010131《面向对象程序设计(java)》第九周学习总结
第一部分:理论知识学习部分 第7章异常.日志.断言和调试 概念:异常.异常类型.异常声明.异常抛出. 异常捕获1.异常处理技术2.断言的概念及使用3.基本的调试技巧 1)异常的概念 a.Java的异常 ...
- C++模板的特化
C++类模板的三种特化,讲得比较全面 By SmartPtr(http://www.cppblog.com/SmartPtr/) 针对一个模板参数的类模板特化的几种类型, 一是特化为绝对类型(全特化) ...
- 如何使用串口来给STM32下载程序
前言 第一次学习STM32的时候,不知道有调试器这个东西,所以一直是通过串口来给STM32下载程序,下载速度也还算可以,一般是几秒钟完成.后来用了调试器,可以直接在Keil环境下进行下载,而且还可以进 ...
随机推荐
- unigui导出TMS.Flexcel【5】
参考代码 procedure TUniFrmeWebEmbedBase.ExportData; //导出到excel var FlexCelImport1: TExcelFile; i, rowind ...
- [luoguP2782] 友好城市(DP)
传送门 转化成 lis 后 n2 搞就行 ——代码 #include <cstdio> #include <iostream> #include <algorithm&g ...
- vue.js组件之间通讯的数据双向绑定----父亲把数据传递给儿子,儿子更改数据后,重新发送给父亲,父亲数据更改后,属性会重新发送个儿子,儿子刷新新数据
vue组件是相互独立的,如果要交互通讯,这时候,就需要组件之间数据互通了 往常我们讲的都是数据传递,子传父,父传子,都没有说子和父,父与子之间的数据互通 父亲传递给儿子数据,儿子触发一个父亲方法,将最 ...
- [USACO1.2]挤牛奶Milking Cows
题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ...
- android获取年月日时分秒
Calendar calendar=Calendar.getInstance(); //获取当前时间,作为图标的名字 String year=calendar.get(Calendar.YEAR)+& ...
- JS实现转动随机数抽奖的特效代码
JS实现转动随机数抽奖的特效代码 大家都玩过抽奖游戏,或者梦想抽到大奖吧.可是有没有想过抽奖游戏是怎么实现的呐?今天就给大家分享一款转动随机数抽奖的JS特效代码. 实现代码例如以下 <!Doct ...
- oracle em 5500访问问题
oracle em 5500访问问题 需要加s了:https://127.0.0.1:5500/em/
- ubuntu各文件夹简介 [转载]
原文地址:ubuntu各文件夹简介作者:SuperZhy ubuntu各文件夹简介 /bin 二进制可执行命令/dev 设备文件(硬盘/光驱等)/etc 系统管理和配置文件/etc/rc.d 启动的配 ...
- uva 10716 Evil Straw Warts Live(贪心回文串)
这道题目我用了一上午才做出来,还是看的别人的思路,尽管没有看代码做的有点慢.代码能力还是得加强啊.思维 得缜密.不能想当然,要有根据,写上的代码要有精确度.省的以后还得慢慢调试 思路:贪心.每次都查看 ...
- 自己制作Android包括@hide接口的SDK
Android系统存在一些系统级应用与framework代码耦合较深,编译的时候依赖非常多类里面的@hide接口.这类应用怎么来编译呢?首先我们须要制作一份包括Hide接口的SDK,方法例如以下(以a ...