oop的一点认识
2009-07-12 20:54
429 查看
工作两年,做了10个项目的程序员了,但是感觉自己还是以结构化的编程方式在工作。由于做的项目大部分是.net的项目,更多的时候编程用的还是面向过程的思想。所以最近一直在网上看一些关于OOP的思想结合自己做过的项目,在此借网络上的文章总结一下,以便加深对oop思想的理解。
1.什么是面向对象的思想
好多编程书上都有类似的解释,偶尔看到一篇文章感觉作者的提法很好。
面向对象就是用 某物(对象),是什么(类),有什么(对象的
状态),能干什么(方法)的方式来描述程序的方法。
Act as
2.什么是封装
封装也就是某物状态的改变,必须是他自己的行为来改变。
如下问题的两种实现方式
你找我借钱,我要借给你100元钱
方式一:破坏类的封装性原则.
class Man()
{
private int money;
public int Money
{
get{return money}
set{money=value}
}
public void Borrow(Man Target,int Howmuch)
{
money+=Howmuch;
Target.Money-=Howmuch;
}
}
方式一:满足了封装性的原则.
class Man()
{
private int money;
public int Money
{
get{return money}
set{money=value}
}
public bool Lend(int Howmuch)
{
if(Howmuch<money)
{
money-=Howmuch;
return true;
}else
{
return false;
}
}
public void Borrow(Man Target,int Howmuch)
{
money+=Howmuch;
Target.Lend(Howmuch);
}
}
我.Borrow(你,1000);
1.什么是面向对象的思想
好多编程书上都有类似的解释,偶尔看到一篇文章感觉作者的提法很好。
面向对象就是用 某物(对象),是什么(类),有什么(对象的
状态),能干什么(方法)的方式来描述程序的方法。
Act as
2.什么是封装
封装也就是某物状态的改变,必须是他自己的行为来改变。
如下问题的两种实现方式
你找我借钱,我要借给你100元钱
方式一:破坏类的封装性原则.
class Man()
{
private int money;
public int Money
{
get{return money}
set{money=value}
}
public void Borrow(Man Target,int Howmuch)
{
money+=Howmuch;
Target.Money-=Howmuch;
}
}
方式一:满足了封装性的原则.
class Man()
{
private int money;
public int Money
{
get{return money}
set{money=value}
}
public bool Lend(int Howmuch)
{
if(Howmuch<money)
{
money-=Howmuch;
return true;
}else
{
return false;
}
}
public void Borrow(Man Target,int Howmuch)
{
money+=Howmuch;
Target.Lend(Howmuch);
}
}
我.Borrow(你,1000);
相关文章推荐
- 对深浅拷贝的一点认识
- 对于图像处理库的一点认识
- C#中使用ref 和 out 的一点认识
- 关于对Linux下MCE(Machine Check Exception)的一点认识
- 校内ACM上出现Presentation Error的一点认识
- 对程序调用API变形的一点认识
- 【NodeJS】对于V8引擎的一点认识..
- 异步操作的一点认识
- 转 对w3wp.exe的一点认识!
- 关于DropDownList绑定数据的一点认识
- 关于wince核心的一点认识(未验证)
- 对进程地址空间的一点认识
- 我对当前国内计算机教育的一点认识
- 关于Asp.Net 使用Ajax控件一点认识
- 自己对B/S和C/S的一点认识
- 关于Session的一点认识
- 对于REST中无状态(stateless)的一点认识
- 对于php中magic_quotes_gpc的一点认识
- 对Adaboost和SVM的一点直观认识
- MessageBox的一点认识