4. MIT6.828 操作系统 。课程讲的XV6,一个很简单的操作系统,类unix 。实验用JOS,也是一个很简单的操作系统,但是设计思想和XV6 不一样 。在自己实现这个操作系统的过程中,可以学到很多东西 。
5. Coursera上面的Computer Architecture,同样来自Princeton 。讲的是处理器的架构和设计 。
对于一个初学者来说,把以上的基础课程刷下来,就上升一个level了 。
很多应用的东西,比如Web开发,数据库什么的,就找具体的项目来练手了 。
路漫漫其修远兮~~
6.编程中怎么区别属性和方法 知乎属性的严格写法是
public class a
{
public string a;
public int b;
}
这个才叫属性,属性是一个类的变量,属性作为变量不承担任何计算过程 。
而属性过程则不同
属性过程的写法
public class a
{
private string a;
private int b;
public string a
{
get
{
return this.a;
}
set
{
this.a=value;
}
}
public int b
{
get
{
return this.b;
}
set
{
this.b=value;
}
}
}
属性过程则不同,属性过程可以理解为特殊的方法或函数,这个方法只有一个参数并且只能返回一个值 。
属性过程的作用在于,对输入数据的有效性处理
设想一下用户注册这个功能
用户注册有一个用户类
用户类有一个属性用户名
public class user
{
public string username;
}
而通常限制用户注册用户名不能为空要在用户界面去限制 。
user Objus=new user();
if(Objus.username==null)
{
throw new Exception("用户名不能为空");
}
这样写的确没错,但是如果你登陆里也要限制用户名不能为空,用户修改资料里也得限制,这时候还得写一遍上面的代码,而这样就会有很多重复的代码 。
就算你能复制粘贴,这些代码也是重复的每回你也要复制粘贴才可以 。
如果用属性过程
public class user
{
private string _username;
public string username
{
get
{
return this._username;
}
set
{
if(value=http://www.xuexi88.com/zhishi/=null)
{
throw new Exception("用户名不能为空");
}
this._username=value;
}
}
}
这时你登陆界面只需两行代码就验证了用户名不能为空
user Objus=new user();
Objus.username=this.Textbox1.Text;
就两行就可以,其他地方也是一样,这就是属性过程 。
文章插图
- 符号吓死宝宝了怎么写
- 对不起我错了英文怎么写
- 一至十的甲骨文怎么写
- 去姑姑家的日记怎么写
- 有关xx给我的启示的作文怎么写
- 难忘那一声作文怎么写
- 日语五月怎么写
- 12.48万换成数字怎么写
- 适宜这两个字怎么写念
- 怎么写幼儿园教育设计方案