internal 和 public 区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了internal 和 public 区别相关的知识,希望对你有一定的参考价值。

C#中,方法修饰符internal 和 public 有什么区别呢?

一、表达意思不同

1、internal:adj. 内部的;体内的;(机构)内部的;国内的;本身的;内心的;(大学生)本校生的、n. 内脏;内部特征

2、public:adj. 公众的;政府的;公用的;公立的、n. 公众;社会;公共场所

二、用法不同

1、internal:internal只能在命名空间内(项目内)被访问到。

2、public:public修饰的是可以在命名空间外(项目外)访问到的。

扩展资料:

”internal“的近义词:inner

1、读音:英 [ˈɪnə(r)] 、美 [ˈɪnər] 

2、表达意思:adj. 内部的;内心的;精神的;n. 内部

3、相关短语:

inner class 内部类 ; 内部类别 ; 内隐类别 ; 内嵌类

Inner London 内伦敦 ; 伦敦地区 ; 伦敦

Inner Tantras 内密三乘

4、例句:They like going with the flow and listening to their inner voice that tells them what they need todo today. 

他们喜欢随波逐流,他们会听从自己内心的声音,而这才是决定他们今天要做什么的因素。

参考技术A

C#中 区别:

一、系统设置不同 

当在命名空间建了一个类,什么都不加时,默认修饰符号是internal。

二、范围不同

1、修饰符号是internal表明在当前命名空间内可以实现对类的调用。 

2、当类的修饰符是public时,该类不仅在当前命名空间可以被调用,在其它命名空间也可以被调用。任何程序集都可以去调用到它。

三、限制范围不同

1、internal 访问权限限制在程序集之内。针对程序集的,程序集中的任何类都是可以访问internal修饰的类。

 2、public访问权限不限制 


扩展资料: 

 C#类的修饰符及意义

1、访问修饰符

public:访问不受限制; 

Internal:访问仅限于当前程序集,只有当前工程可以存取;

protected:访问仅限于包含类或从包含类派生的类型,只有包含该成员的类以及继承的类可以存取 protected internal:访问仅限于当前程序集或从包含类派生的类型;

private:访问仅限于包含类型。只有包含该成员的类可以存取。

2、类修饰符:

abstract:可以被指示一个类只能作为其它类的基类;

sealed:指示一个类不能被继承。

3、成员修饰符:

abstract:指示该方法或属性没有实现;

const:指定域或局部变量的值不能被改动;

event:声明一个事件;extern:指示方法在外部实现;

override:对由基类继承成员的新实现;

readonly:指示一个域只能在声明时以及相同类的内部被赋值;

static:指示一个成员属于类型本身,而不是属于特定的对象;

virtual:指示一个方法或存取器的实现可以在继承类中被覆盖。

 

参考技术B internal:访问只限于当前项目
public:访问不受限制,其他项目,甚至其他语言都可以调用
参考技术C internal同一命名空间可以访问
public公共,都可以访问本回答被提问者采纳

Solidity函数修饰符

修饰符有很多

1.public和private:public表示公有都可以使用,private表示只能被这个合约使用

2.internal和external:  internal跟private比较类似,但是internal修饰的可以被继承的合约使用

3.external和public类似,但是不能被该合约使用

4.pure和view:view表示这个函数不会修改和保存任何东西,pure表示只跟输出只跟输入有关,不但不在区块链写数据而且不会用里面的数据,只会用输入的数据

5.还有修饰符modify:

   函数修饰符:函数修饰符跟函数是类似的,不用是用来修饰已有的函数,在其他语句执行前,为它先检验条件。关键字modifier(修饰符)

  调用函数修饰符常常用在函数的后面跟public和private等一个位置用来判断是否执行该函数

     函数修饰符通常使用下划线结尾

    如:modifier olderThan(uint _age,uint _userId){

      require(age[_userID]>= _age);

      _;  //以_;结尾表示函数正常返回继续执行之前的功能

  }

6.payable修饰符(可支付):

  payable函数是可以接受以太币的特殊函数

  在以太坊中可以在调用函数的时候付钱给另一个合约如:

contract OnlineStore { function buySomething() external payable {

  // 检查以确定0.001以太发送出去来运行函数:

  require(msg.value == 0.001 ether);

   // 如果为真,一些用来向函数调用者发送数字内容的逻辑

   transferThing(msg.sender);

  }

 }

 

  msg.value是用来查看向合约发送了多少以太币的办法,ether是一个以太网内建单元

 

以上是关于internal 和 public 区别的主要内容,如果未能解决你的问题,请参考以下文章

C# 中的内部与公共

Swift-Swift - 访问控制(private,internal,public)

Swift-Swift - 访问控制(private,internal,public)

C#,class A 和public class A有啥区别?

.Net 面试题整理

C#中的public protected internal private