工作两年,做了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);