Soliditas - Lingkup Variabel

Cakupan variabel lokal terbatas pada fungsi di mana mereka didefinisikan, tetapi variabel Status dapat memiliki tiga jenis cakupan.

  • Public- Variabel status publik dapat diakses secara internal maupun melalui pesan. Untuk variabel status publik, fungsi pengambil otomatis dibuat.

  • Internal - Variabel status internal hanya dapat diakses secara internal dari kontrak saat ini atau kontrak yang diturunkan darinya tanpa menggunakan ini.

  • Private - Variabel status privat hanya dapat diakses secara internal dari kontrak saat ini, variabel tersebut didefinisikan bukan dalam kontrak turunan darinya.

Contoh

pragma solidity ^0.5.0;
contract C {
   uint public data = 30;
   uint internal iData= 10;
   
   function x() public returns (uint) {
      data = 3; // internal access
      return data;
   }
}
contract Caller {
   C c = new C();
   function f() public view returns (uint) {
      return c.data(); //external access
   }
}
contract D is C {
   function y() public returns (uint) {
      iData = 3; // internal access
      return iData;
   }
   function getResult() public view returns(uint){
      uint a = 1; // local variable
      uint b = 2;
      uint result = a + b;
      return storedData; //access the state variable
   }
}