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();
}
}
33.Solidity-Inherit(函数继承的权限)
于 2022-11-20 20:04:32 首次发布