02 Solidity智能合约继承、重写、布尔变量

2018年5月30日 作者 jacky

重写方法

子合约可以将父合约的public类型的函数,但是,可以对继承过来的函数进行重写。

  • 重写前
pragma solidity ^0.4.4;

contract Person{

    string _birthDay; // 生日
    int  private _age; // 年龄
    int internal _weight; // 身高
    string _name; // 姓名

    function Person() {
      _age = 29;
      _weight = 170;
      _name = "My name is Person";
      _birthDay = "2011-01-01";
    }

    function birthDay() constant returns (string) {
      return _birthDay;
    }

    function age() constant private returns (int) {
      return _age;
    }

    function height() constant public returns (int) {
      return _weight;
    }

    function name() constant public returns (string) {
      return _name;
    }

}


contract Jacky is Person {
    //重写
    function name() constant public returns (string) {
      return "I', Jacky";
    }

   
}

创建Person合约的获取名字方法

创建Jacky合约的获取名字方法

说明了Jakcy继承了Person成功重写了方法。

布尔(Booleans)

bool: 可能的取值为常量值true和false。

支持的运算符:

  • ! 逻辑非

  • && 逻辑与

  • || 逻辑或

  • == 等于

  • != 不等于

备注:运算符&&和||是短路运算符,如f(x)||g(y),当f(x)为真时,则不会继续执行g(y)在f(x)&&g(y)表达式中,当f(x)为false时,则不会执行g(y)。

参考:
solidity在线文档