Inheritance 遗传多态性问题

Inheritance 遗传多态性问题,inheritance,polymorphism,Inheritance,Polymorphism,人是一个基本的阶级 学生是人的一个子类 为什么有人会使用上面的代码行来进行测试?你为什么不这样做呢 Person studentA = new Student(); 你真的不会那么做。但是,如果你有一个Person向量,并且想要指定你添加的一些人是学生,那该怎么办呢 您可能应该仔细阅读继承和多态性。你的问题表明你真的没有太多编程经验 这是我从谷歌上获得的第一个链接。 有时你想用更一般的意义来指代一个对象。大多数人都理解用户界面,因此下面是一个基本示例: 假设您有一个屏幕,希望禁用每个控件,直到

人是一个基本的阶级 学生是人的一个子类

为什么有人会使用上面的代码行来进行测试?你为什么不这样做呢

Person studentA = new Student();

你真的不会那么做。但是,如果你有一个Person向量,并且想要指定你添加的一些人是学生,那该怎么办呢

您可能应该仔细阅读继承和多态性。你的问题表明你真的没有太多编程经验

这是我从谷歌上获得的第一个链接。

有时你想用更一般的意义来指代一个对象。大多数人都理解用户界面,因此下面是一个基本示例:

假设您有一个屏幕,希望禁用每个控件,直到出现某种提示,即用户填写一些初始输入。您的控件可能是文本框、组合框(下拉菜单)或按钮。您可以一下子参考以上所有内容的一种方法是将它们视为控件

您可以编写如下代码:

Student studentA = new Student();
这是一个例子,但是当你开始更多的编程时,你会发现这是你面向对象存在的一个非常基本的部分

您可以看到大多数面向对象基类库使用这种技术的地方是I/O—所有输入和输出库都可用。在最抽象的意义上,您将拥有一个流,但当您查看类层次结构时,您将看到流概念的多态变体:文件流、网络流等等。读和写流实现将分别使用“读”和“写”来完成。做一些基本的编程任务会让你感觉到多态性是多么有用。例如,编写从流中读取的代码,然后对其进行抽象,以便它可以应用于所传递的流的任何实现


我一直试图向人们建议的一件事是研究内置库,以了解框架设计者和程序员如何有效地利用此类技术进行非常实际的日常使用

所以,它只是对它进行了概括,这样当我需要与所有对象(包括所有子类)对话时,我可以将它们都当作基类来处理。我想这就是我从你的例子中得到的,没错。指所有“员工”,即使他们是“承包商”或“临时工”或“全职”等。这种情况经常发生。上面的海报上写着“这是一个例子,但当你开始更多地编程时,你会发现这是你面向对象存在的一个非常基本的部分。”-尽管你说“你真的不会那样做。”那么谁是对的?是的,我是编程新手。我试图理解这些概念。
foreach(Control c in MyForm.Controls)c.Enabled = false;