c++ - 将继承称为类的EXTEND是否合适

标签 c++ inheritance definition

根据 WordWeb 词典,“扩展”的意思是“范围、范围或面积的增加”。所以如果我们牢记这一点并进行继承,那么派生类只是增加基类的属性和功能。但实际上在进行继承时我们改变了这个概念。例如,在基类中,每个内部函数都可以访问它的私有(private)成员,但是在派生类中,这种行为发生了变化,派生类的函数不能访问它的父类的私有(private)数据成员。因此,请解释我们如何以及何时将“继承”称为基类的“扩展”。

提前致谢。

最佳答案

在代码中,您能够访问基类的方法和属性。

如果我有

public class A 
{
public void MakeSauce() {}
}

然后

public class B : A
{
public B()
{
MakeSauce();
}
}

是一个有效的构造函数,它调用从 A 继承的方法。但是,作为继承的类,您还可以将自己的“扭曲”赋予 MakeSauce。

public class A 
{
public virtual void MakeSauce() { Console.WriteLine("I made sauce!"}
}

然后

class B : A
{
   public B()
   {
      MakeSauce(); // call A's implementation
   }

   public override void MakeSauce() // override A implementation
   {
      Console.WriteLine("I made 2 gallons of sauce.");
   }
}

关于c++ - 将继承称为类的EXTEND是否合适,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36493958/

相关文章:

c++ - constexpr 数组成员是否编译时间常数?

c++ - vector 中的简单想法不起作用(编译错误)

c++ - 具有 3 个派生类的 C++ 中的多重继承

c++ - 继承和成员函数模板重载

typescript - 扩展 TypeScript 类时的方法链

architecture - 什么是样板代码?

C++ 编程 : Asking user if they would like to overwrite a file if it already exists

c++ - 在Firefox中执行WASM时, “debug trap handling”是什么

c++ - 从基类方法返回对派生类的引用

web-services - 在 Web 服务中,端点和远程网关有什么区别