建公司网站要多久,网络营销的具体方法,娄底工程建设有限公司网站,安陆网站开发什么是面向对象#xff1f;如果让我理解#xff0c;只有一句话#xff1a;它是一个与面向过程相对的概念#xff0c;是一种进化或者升级。人们所设计的程序几乎都是线性思维#xff0c;即一步一步往下执行。对于一个没有人机交互的简单程序来说#xff0c;这是简单易行的… 什么是面向对象如果让我理解只有一句话它是一个与面向过程相对的概念是一种进化或者升级。人们所设计的程序几乎都是线性思维即一步一步往下执行。对于一个没有人机交互的简单程序来说这是简单易行的。然而对于一个人机交互频繁的复杂程序来说比如某个你所熟悉的游戏这绝对是一个毁灭性的灾难。比如一个三人斗地主的游戏我们会很自然把它描述成一个面向过程的算法。我的意思是说通常情况下我们的设计思路应该是这样的1、选地主 2、发牌 3、轮流出牌 4、判断胜利。显然这个思路是较为完善的。然而如果我们进一步的加以思索就会发现整个流程显得不够精简。我们至少可以提出以下见解1、对于游戏中的三个玩家其实他们有很多共同点。都能选地主、出牌、判定。2、我们能否让代码更精简一些。比如每个人都要判断是否胜利我们能否写一遍就够了。3、地主和农民是有一些区别的我们如何既能够精简代码又顺利区分它们。 我以为当人们遇到这种问题的时候很自然的就会根据事物的共性抽象出事物的一个类。就好像根据香蕉、苹果、橘子抽象出水果这个类一样。具体来说我们把每个玩家看成一个对象对应于C#语言中的类。必须注意的是这个类是一个具体的类别。通常情况下我们总是用一个基类来描述具体类别的属性和方法。并且具体的类别应该继承基类的属性和方法。我们再详细的说我们可以把农民作为一个基类并且规定农民的各项属性比如发牌数、出牌规则等。紧接着我们让地主继承农民这个类。这样农民具有的属性方法地主也有了。另一方面地主和农民是有区别比如地主牌多。这个问题可以用虚方法和重写方法去解决。就是把基类的方法改为虚方法然后允许子类重写方法。 我们来总结一下面向对象和面向过程的异同。面向过程需要写很多类似的判断比如农民需要判断是否胜利地主也要。而面向对象只要在基类中写好子类继承就行了。除此之外这种程序设计思想还有一个巨大的好处可以被引用。与原来一个程序就一个main函数相比这种方式的代码重复利用率是十分可观的。很自然的它也更加有利于程序的扩展。 到这里我们说面向对象思想的出现是极为自然的并且符合现实需求的。它的出现对于程序设计无疑是一次质的飞跃。转载于:https://www.cnblogs.com/xsddxz/p/5847712.html