C# 基类初始化问题求教

weixin_37625895 2019-03-23 01:11:50
上网看到一段C#程序;

using System;
namespace RectangleApplication
{
class Rectangle
{
// 成员变量
protected double length;
protected double width;
public Rectangle(double l, double w)
{
length = l;
width = w;
}
public double GetArea()
{
return length * width;
}
public void Display()
{
Console.WriteLine("长度: {0}", length);
Console.WriteLine("宽度: {0}", width);
Console.WriteLine("面积: {0}", GetArea());
}
}//end class Rectangle

class Tabletop : Rectangle
{
private double cost;
public Tabletop(double l, double w) : base(l, w) 问题在这里,这里应该是在Tabletop类里面,为什么这里还能public一下;另外BASE是什么意思 { }
public double GetCost()
{
double cost;
cost = GetArea() * 70;
return cost;
}
public void Display()
{
base.Display();
Console.WriteLine("成本: {0}", GetCost());
}
}
class ExecuteRectangle
{
static void Main(string[] args)
{
Tabletop t = new Tabletop(4.5, 7.5);
t.Display();
Console.ReadLine();
}
}
}
...全文
140 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
调用父类方法是个很简单的功能,例如在 Typescript 中写
    constructor(public 提前加载数据吗: boolean = true) {
        super();
        ........
}
可见不同语言有不同语法,但是基本功能需求一样。你怎么让人家 c# 调用父类中的代码?
  • 打赏
  • 举报
回复
引用 2 楼 weixin_37625895 的回复:
[quote=引用 1 楼 以专业开发人员为伍 的回复:] 不论写成 public 还是 private,这都是 c# 的实例化(constructor)语法。你自己看看基本语法。 子类对象实例化方法可以使用 base 写法来委派调用父类的实例化方法,你自己看看基本语法。
请问这个实例化还能在自己的class类里面实例化自己? [/quote] 只是子类代码调用父类的代码,你不论是在 ExecuteRectangle 还是 Tabletop 中跟踪的 this 对象(例如打印 GetHashcode 函数结果)都是自己,只不过是子类中的代码调用父类中写的代码,怎么就“实例化自己”了呢?
weixin_37625895 2019-03-23
  • 打赏
  • 举报
回复
引用 1 楼 以专业开发人员为伍 的回复:
不论写成 public 还是 private,这都是 c# 的实例化(constructor)语法。你自己看看基本语法。

子类对象实例化方法可以使用 base 写法来委派调用父类的实例化方法,你自己看看基本语法。


请问这个实例化还能在自己的class类里面实例化自己?


  • 打赏
  • 举报
回复
不论写成 public 还是 private,这都是 c# 的实例化(constructor)语法。你自己看看基本语法。 子类对象实例化方法可以使用 base 写法来委派调用父类的实例化方法,你自己看看基本语法。

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧