Solidity Ide- interface error: Contract "Cat" should be marked as abstract

Solidity Ide- interface error: Contract "Cat" should be marked as abstract

我是 Solidity 新手,使用的是 0.8.7 版!

我正在练习抽象合同和接口,但遇到此错误:合同“Cat”应标记为抽象。

下面是我的代码。

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

abstract contract Animal {
    uint8 head = 1;
    function braking() public virtual pure returns(string memory);
}

interface get {
    function getHeadNumber() external returns(uint8);
}

contract Dog is Animal, get{
    function braking() public override pure returns(string memory) {
        return "Woof!!";
    }

    function getHeadNumber() public override view returns(uint8) {
        return head;
    }
}

contract Cat is Animal, get {        < < < error here !!!!

    function braking() public override pure returns(string memory) {
        return "Meow!!";
    }
    
    function getHeadnumber() public override view returns(uint8) {
        return head;
    }
}

我想知道为什么contract Dog可以不用abstract,而contract Cat不行!!

如果你需要detail error messages

抱歉我的英语不好,希望你今天过得愉快。

非常感谢!!!

注意区分大小写:

interface get定义getHeadNumber()Number中的大写N)。

但是 contract Cat 试图覆盖 getHeadnumber()number 中的小写 n)。

解决方法:contract Cat中的函数重命名为getHeadNumber()(大写N)。