33.Solidity-Inherit(函数继承的权限)

 pragma solidity ^0.4.0;
//函数继承的权限---属性
//public  internal  external可以被继承
//private 只能被合约独立使用,不可以被继承


contract father{
 //   uint money = 10000;//1、如果属性不加上任何的修饰符,是可以被继承的
 //   uint public money = 10000;//2、如果属性加上public,是可以被继承的
 //   uint internal money = 10000;//3、如果属性加上public,是可以被继承的
 //   uint external money = 10000;//4、编译报错·没有external修饰符,
 //   uint private money = 10000;//5、编译报错·因为private代表只有父亲能够拥有这个属性,该属性不能被继承
uint public money = 10000;

function dahan() public returns(string){
        return "dahan";

    }
}



contract son is father{


    function getmoney() public view returns(uint){
            
        return money;
    }
    function jichengbb() public returns(string){

            return dahan();
        }
}

   


  pragma solidity ^0.4.0;
//函数继承的权限---属性
//internal---修饰的函数只能在合约内部或者继承合约的内部使用,但是不可以在合约外部调用
contract father{

function dahan() internal returns(string){
        return "dahan";

    }
}
contract son is father{
    function getmoney() internal view returns(uint){
            
        return money;
    }
    function jichengbb() public returns(string){

            return dahan();
        }
}



pragma solidity ^0.4.0;
//函数继承的权限---属性
//external---修饰的函数不可以直接在合约内部或者继承合约的内部使用
//但是可以使用this.dahan();这种
contract father{

function dahan() external returns(string){
        return "dahan";

    }
//2、间接的在内部调用,输入this.dahan();其实属于外部调用
    function dahantest() public view{
        this.dahan();
    }
}
//1、external修饰调用的第二中方式,在另一个合约的内部创建引用合约的地址“地址.”来调用
contract externalTest{
    father f= father();
    function externalTest() returns(string){
        return f.dahan();
    }
}
//external---修饰的函数不可以在合约内部或者继承合约的内部使用
contract son is father{
    
   // function jichengbb() public returns(string){

   //         return dahan();
      //  }
    function dahantest() public view returns(string){
        return this.dahan();
    }
} 


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值