类继承/方法重写

2023-12-01

这是我第一次与课程一起工作,所以请原谅我的无知。

我有一个 Pet 类,它是我的基类。我有两个儿童班,狗和猫。我想做的是让 Cat 和 Dog 方法通过说“Woof!”来覆盖 Pet 方法。和“喵!”而不是说话。然后,在另一种形式中,我必须在按下按钮时打印信息(名称、颜色和他们的讲话)。

       class Pet
    {
        protected string name, color, food;

        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }
        public string Color
        {
            get 
            {
                return color;
            }
            set
            {
                color = value;
            }
        }
        public string Food
        {
            get
            {
                return food;
            }
            set
            {
                food = value;
            }
        }
        public void speak(string s)
        {
            s = "Speak";
            MessageBox.Show(s);
        }

        public Pet(string name, string food, string color)
        {
            //Constructor
            this.Food = food;
            this.Name = name;
            this.Color = color;
        }




    class Dog : Pet
    {

        public Dog(string name, string food, string color)
            : base(name, food, color)
        {

        }

        protected override void speak()
        {

        }

    }

}

(省略了猫,因为它与狗几乎相同)

我不断收到错误“错误 1 ​​'Lab12.Cat.speak()':在覆盖 'public' 继承成员 'Lab12.Pet.speak()' 时无法更改访问修饰符”

我究竟做错了什么?我知道这与某处的保护级别有关,并且我不断将事物从公共切换到受保护或私有,但这并不能解决任何问题。帮忙,有人吗?


由于 Speak() 最初是公开的,因此您需要将其保持公开。您“无法更改访问修饰符”(公共与私有)。

此外,您不能重写非虚拟或静态方法。重写的基方法必须是虚拟的、抽象的或重写的。

读一读:http://msdn.microsoft.com/en-us/library/ebca9ah3(v=vs.100).aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类继承/方法重写 的相关文章

随机推荐

  • 为什么我们不能使用构造函数本身初始化 servlet?

    为什么我们必须重写 Servlet 中的 init 方法 而我们可以在构造函数中进行初始化 并让 Web 容器调用构造函数 在调用构造函数时将 ServletConfig 引用传递给 servlet 当然 容器必须为此使用反射 但容器无论如
  • 如何拉伸图像以填充 UILabel 中背景中设置的标签宽度?

    我有简单的基于视图的应用程序 我只采取了UILabel on it 以下是我在 viewDidLoad 中的代码 lblBack textColor UIColor blueColor UIImage img UIImage imageNa
  • 将变量从 JSP 传递到 servlet

    一直以来 当我在 Google 上搜索时 我得到了许多关于从 JSP 向 servlet 传递变量的答案 这些答案都发布在 Stackoverflow 中 但我想知道 我没有得到以下答案 How to pass a variable fro
  • 用python计算字母数

    我想做的是计算每个字母在字符串中出现的次数 我想将详细信息存储在字典中 以下是我的尝试 def scan string list string for letter in string list string append letter l
  • ImportError: DLL 加载失败: %1 不是 _imaging 模块的有效 Win32 应用程序

    我正在尝试使用 Python 2 7 9 中的灰度共生矩阵从图像中提取特征 我在其他答案中找到了下面给出的代码 当我运行这段代码时 我得到 ImportError 未安装 imaging C 模块 然后我安装了 PIL 模块 当我尝试导入它
  • Android - Crashlytics,在崩溃期间运行代码

    我遇到了一个严重的崩溃案例 这是由于某些异步在 SQLite 中以不正确的顺序执行操作而导致的 结果崩溃了 我花了一些时间来调试所有这些 并且访问内部数据库会有很大帮助 我知道如何访问开发设备上的内部数据库 但如果出现问题 我希望能够获得该
  • head 中存在重复的 JSON-LD 脚本

    我必须注射多个scriptJSON LD 数据的元素到head我的申请 全部都属于同一 type 这是由于从不同的数据源提取不同的字段 这种重复会导致任何问题吗 我希望谷歌能将其简单地翻译为
  • 如何检查字符串不为空?

    if string equals 如何检查字符串是否不为空 if string equals 检查 null 是通过以下方式完成的if string null 如果你想检查它是否为空或为空 你需要if string null string
  • Python - if 语句无法正常工作[重复]

    这个问题在这里已经有答案了 我刚刚开始使用 python 并且被困在一些在我看来显然应该有效的东西上 这是我的第一个代码 我只是尝试与用户进行对话 year input What year are you in school yearlik
  • 协变克隆函数的误解

    这个问题与最近的一个问题有关多态性不适用于相同数据类型 基类和继承类 的函数返回值 考虑代码 include
  • Python pytz时区转换返回与不同日期的时区偏移量不同的值

    我试图将美国 东部时区日期转换为 UTC 以上传到仅接受 UTC 时间但显示本地时区时间的网站 我有以下代码示例 其中当我转换最近的日期时 偏移量 5 00 或 4 00 没有问题 但是当我转换诸如 1900 01 01 之类的日期时 偏移
  • 表[ ] 输出基数

    The Table 命令通常返回一个与其迭代器具有相同基数的列表 Table i i 4 gt 1 2 3 4 很容易证明可以返回带有greater基数高于迭代器 Table Sequence ConstantArray 1 i i 2 g
  • 我可以在 Nodejs (ES7) 中解雇并忘记承诺吗?

    我想用 babel 运行这段代码 redisClientAsync delAsync key return await someOtherAsyncFunction 在异步函数中没有await第一行 这个可以吗 我还能怎样运行我不关心的事情
  • 自定义 Aurelia 以使用 .cshtml

    我发现一篇非常有用的文章 展示了如何将 Razor 部分 cshtml 与 aurelia 一起使用 但是 我无法运行代码 并从 RobEisenberg 评论中得知 ConventionalViewStrategy convertModu
  • 如何禁用 VSCode 上的内联提示? (Java)[重复]

    这个问题在这里已经有答案了 我想在我的编辑器上禁用这个弹出帮助程序 我怎么做 在我的 null 旁边有一个奇怪的 下一个 东西 谢谢 嗯 这段文字叫做镶嵌提示 or 内联提示 进一步来说内联参数提示 对于 Java 它将与参数相同 name
  • VBA Excel 中基于列标题的动态列选择

    我有以下代码来根据标题选择列 Dim rng1 As Range Set rng1 Range Range A1 Z1 Find Name Range A1 Z1 Find Name End xlDown 当尝试使用此范围并在图表上设置 X
  • 如何在没有提示的情况下从 Internet Explorer 直接打印到标签打印机

    我有一个包含 upc 编号的 mysql 数据库 我想用斑马打印机 LP2824 打印到标签上 我希望能够以某种方式将这些数字直接发送到我的标签打印机 这不是默认打印机 无需提示用户 据我所知 IE 是唯一的选择 因为需要某种类型的 Act
  • 注释掉 XML

    考虑这段 XML
  • bash 脚本:如何有效地在字符串末尾附加字符 (O(1))

    简单问题 我有一个包含 n 个条目的数组 A 每个条目包含一个字符 我想 以有效的方式从该数组创建相应的字符串 S 即在 O n 时间内 无需使用外部命令 只需 bash 代码和 bash 内置命令 这种明显的方式 func slow lo
  • 类继承/方法重写

    这是我第一次与课程一起工作 所以请原谅我的无知 我有一个 Pet 类 它是我的基类 我有两个儿童班 狗和猫 我想做的是让 Cat 和 Dog 方法通过说 Woof 来覆盖 Pet 方法 和 喵 而不是说话 然后 在另一种形式中 我必须在按下