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环境下进行下载,而且还可以进 ...
随机推荐
- Springboot 添加数据源报错
报错信息如下: Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying be ...
- [luoguP2038] 无线网络发射器选址(模拟)
传送门 又是个模拟水题,考虑边界就好,连long long都不用开. ——代码 #include <cstdio> #include <iostream> int n, d, ...
- Frame Stacking 拓扑排序 图论
Description Consider the following 5 picture frames placed on an 9 x 8 array. ........ ........ .... ...
- ZOJ 3201
id=15737" target="_blank">Tree of Tree Time Limit: 1000MS Memory Limit: 32768KB ...
- jQuery鼠标悬停显示提示信息窗体
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 使用引导扇区维护工具BOOTICE编辑系统启动列表BCD文件
使用引导扇区维护工具BOOTICE编辑系统启动列表BCD文件 系列文章: 笔记本电脑提速之加装内存条.SSD固态硬盘.光驱位换SSD固态硬盘 笔记本ThinkPad E430c加装内存和SSD固态硬盘 ...
- Error:全局变量不明白(using namespace std 与全局变量的冲突)
在用递归写八皇后时,定义了一个全局变量count,结果出现故障例如以下:提示全局变量不明白. 最后发如今实现文件.cpp中.我使用了using namespace std; 解决方法: 1.使用co ...
- linux 下载 图片
linux curl 下载图片 l=[] with open('ee.html','r',encoding='utf-8') as fr: for i in fr: ii=i.split('&qu ...
- [NHibernate] 入门实例 NHibernate 3.3 GA + VS2010 +MySQL
题外话: 中国的技术论坛要赶上stackoverflow的水平.至少还需35年.中国程序猿笔者的特点是:太浮躁,太easy下总结.太自得其乐,虽说写的是为了让别人更好的看.却也演变成了一种" ...
- mac 配置hadoop 2.6(单机和伪分布式)
一.准备工作: 安装jdk >= 1.7: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...