首页 > 解决方案 > 为什么在实例化一个类时使用不同的类型和构造函数?

问题描述

假设我们有一个类ProductA继承了另一个名为Product. 什么意思

Product product = new ProductA();

那和有什么区别

ProductA product = new ProductA();

标签: c#oopconstructor

解决方案


初始化时,没有区别。这就像说“ProductA是一种Product事物”。

在面向对象的编程中,IS-A的概念是基于继承的,可以分为类继承和接口继承两种。

那么这两种语法在什么情况下可以有区别呢?

为什么要使用多态?

为什么以及何时使用多态性?

补充阅读:virtual、override、new和sealed override的区别


推荐阅读