我对许多抽象定义感到困惑。 谁能告诉我什么是抽象,我们如何实现呢?
jack11666 回答:C#中的抽象是什么?
抽象 在于,仅保留特定问题的现实世界对象的相关方面 >。因此,我们谈论抽象现实。这是还原。
例如,在现实世界中,猫和狗是脊椎动物。这种动物具有诸如头和腿的特性,以及诸如步行和进食之类的操作。然后,我们将定义类,它们将是动物,猫和狗。
因此,我们具有继承性的概念,其中猫和狗继承了常见的属性和操作,然后将其置于动物的级别,以免在儿童类中重复这些元素:概括。猫也可以喵叫,狗也可以吠叫:这是专业。
因此,抽象是将现实世界投射到更有限的概念世界中的。
进行抽象是确定我们设计计算机系统所需的属性和行为,从而确定了软件,并且我们拒绝了我们不需要的所有内容。
>例如,在银行系统中,我们确定具有名称,地址等的客户。我们采取一切必要的措施,拒绝其他人,例如他们的饮食,步行方式或他们最近读的书是什么。
抽象是定义所需的概念(实体及其方面,行为和关系),并且忘记了不需要的内容。这是现实的部分。
我们将类命名为源自概念的概念,将对象称为该概念的实例将在计算机上运行的软件域,因此是物化。
所有其他OOP术语都是用来定义实现此目标的方式的词汇。
例如,封装是掩盖类中某些属性和操作的过程,这些属性和操作将无法从外部访问:这些只是内部事物和行为,例如消化系统。
除了类之外,还存在多态性和接口。
How to choose between private and protected access modifier
What is the difference between an interface and a class
以下是一些维基词典中的定义:
抽象,分离,撤回或夺走的行为;退出;被带走的状态。
关注对象的一个特征而不是对象作为一个整体的特征的行为;从对象或思想中分离出所述品质的行为。
比较不同对象之间的共性并使用这些相似性进行组织的行为;概括特征的行为;所述概括的产物。
(计算)为控制工程系统(特别是软件系统)的知识复杂性而忽略或隐藏细节以捕获不同实例之间某种共性的任何泛化技术。
(计算)通过抽象技术产生的任何智力构造。