本人目前是一名有1年左右ASP.Net开发经验的的软件开发工程师,目前公司用的是MVC+EF+...做的网站。写这套总结性系列文章的目的有两个:一是帮助自己总结一下自己到底有多少斤两,而不是一味的学新东西;二是将此文分享给大家,让大家好在自己已有的基础上更进一步,而不要每天盲目的学,重复的看一些看过的东西而导致效率过低。
本来只想总结技术方面(偏代码)的,但是看到一些好的名次解释,顺便也加上了
1、什么OOP、OOD、OOA?
答:OOP:Object Oriented Programming(面向对象编程);OOD:Object-Oriented Design(面向对象设计);OOA:Object-OrientedAnalysis(面向对象分析)。
2、什么是面向对象?
答:这个不好回答,要是你学过C语言,应该能很明显的区分出来。目前我认为最明显的区别体现在依赖关系上,面向过程编程依赖函数,而面向对象编程更多的要求依赖接口(多态),实现差异化编程(把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化)。
3、面向对象三大特性:封装、继承、多态(想都不想就说出来)
4、知道什么是类,如何定义类?什么是对象,如何得到对象?(最基本的)
public class Person
{
private string _name; public string Name
{
get { return _name; }
set { _name = value; }
}
}
类的定义
Person person = new Person();
对象的定义
5、普通类里面可以有什么?
答:字段、属性(本质是方法)、索引器(本质是方法)、方法(函数)、构造函数等。属性可以简写,而且在MVC3开始建议简写。
public int Age
{
get;
set;
}
属性简写定义方式
public string this[int key]
{
get
{
string result = "";
switch (key)
{
case : result = "a";break;
case : result = "b"; break;
}
return result;
}
}
索引器的定义
public int this[string key]
{
get
{
int result = ;
switch (key)
{
case "a": result = ; break;
case "b": result = ; break;
}
return result;
}
}
索引器的key可以为string类型
6、引用和命名空间的区别?
答:除非你真是菜鸟,否则你会分的特别清楚的,每天都会引程序集,导命名空间,目前做项目的时候,项目组要求不到命名空间了,直接命名空间.类名.方法使用你想要的方法。导命名空间小技巧,刚接触编程的时候,你可能更喜欢点出来,所以选择先导命名空间,而你某个方法用多了,而对用的方法名也不长,你可以先拼写方法名,shift + alt + F10导入命名空间,当然如果你把输入法关掉,也可以ctrl+ .导入。
今天写到这,有时间继续。