我使用C#构建了几个程序,就像简单的Web浏览器一样,具有地址栏,状态栏,一些脚本的逻辑。简单的程序,我无法用英语正确解释,所以不是解释我会告诉伪代码:
教程中的简单游戏统一3D和教程中的其他简单程序。
我正在寻找一个项目,在这个项目中,我将以实用的方式学习接口,抽象类,多态,继承,封装。所有的教程都讲述了它的理论,我可以理解它们中的大多数,但我无法想象它们的用法。 http://www.codeproject.com/Articles/572738/Building-an-application-using-design-patterns-and?fid=1829944&df=90&mpp=25&prof=False&sort=Position&view=Normal&spc=Relaxed&fr=26#xx0xx 这篇文章很好,但没有实际数据,我们可以使用的任何项目都没有。因此我无法理解为什么我们使用接口等。
我找到了两个教程:
https://www.youtube.com/watch?v=YxewTI4H2mY youtube com / watch?v = QORB9qbsC8M
(对不起,但没有10个声望,我发不到2个以上的链接) 你认为任何一种学习OOP的好方法吗?你可以去那些程序的最后几分钟,并告诉那些程序是否有良好的OOP代码?
我喜欢听到任何消化,帮助等等。此时我要感谢所有通过这个糟糕的英语问题并尝试回答我的人!
答案 0 :(得分:0)
一个适用于面向对象的概念是任何类型的分层对象数据库。我的建议是动物园。
在动物园里,你可以有一个主抽象类Animal。这将具有任何动物具有的基本属性,例如动物的名称及其出生日期。每个动物都需要吃,所以像eat()这样的抽象函数是合适的。
继承Animal,你可以拥有例如Reptile,Bird,Mammal,Insect的抽象类
然后爬行动物可能包含仅对爬行动物有效的额外信息。
继承Reptile,你可以拥有非抽象类Crocodile,Snake,Frog等。
Crocodile可以拥有更多属性和功能,仅适用于鳄鱼,例如DoDeathRoll()。
对于动物园中的实际动物,然后创建最低层类的实例。所以Crocodile Humphrey = new Crocodile("Humphrey");
关于接口,你可以考虑接口,如Pettable,Flying(鸟类和蝙蝠都能飞,即使它们不共享任何其他继承而不是动物)来制作ReactToPetting()或Fly()等函数可见。
创建这样的系统将使您非常习惯使用继承和多态。