protected(C# 参考)

protected 关键字是一个成员访问修饰符。 受保护成员在其所在的类中可由派生类实例访问。

示例
只有在通过派生类访问时,基类的受保护成员在派生类中才是可访问的。 例如,请看以下代码段:
C#

class A
{
protected int x = ;
} class B : A
{
static void Main()
{
A a = new A();
B b = new B(); // Error CS1540, because x can only be accessed by classes derived from A.
// a.x = 10; // OK, because this class derives from A.
b.x = ;
}
}

语句 a.x = 10 生成错误,因为它是在静态方法 Main 中生成的,而不是类 B 的实例。

结构成员无法受保护,因为无法继承结构。
此示例中,DerivedPoint 类派生自 Point。 因此,可以从派生类直接访问基类的受保护成员。
C#

    class Point
{
protected int x;
protected int y;
} class DerivedPoint: Point
{
static void Main()
{
DerivedPoint dpoint = new DerivedPoint(); // Direct access to protected members:
dpoint.x = ;
dpoint.y = ;
Console.WriteLine("x = {0}, y = {1}", dpoint.x, dpoint.y);
}
}
// Output: x = 10, y = 15

如果将 x 和 y 的访问级别更改为 private,编译器将发出错误信息:
'Point.y' is inaccessible due to its protection level.
'Point.x' is inaccessible due to its protection level.

访问修饰符protected的更多相关文章

  1. c#中的访问修饰符Protected,privet ,public, internal,和internal protected

    Protected,privet ,public, internal,和internal protected的区别 Private修饰的,只能值类内部使用,外部不可以使用,子类不能直接访问,但可以通过 ...

  2. C# 成员访问修饰符protected internal等

    1.C#4个修饰符的权限修饰符 级别 适用成员 解释public 公开 类及类成员的修饰符 对访问成员没有级别限制private   私有 类成员的修饰符 只能在类的内部访问protected 受保护 ...

  3. 访问修饰符internal

    internal(C# 参考) internal 关键字是类型和类型的成员 访问修饰符. 只有在同一程序集的文件中,内部类型或成员才是可访问的,如下例所示: public class BaseClas ...

  4. [No0000E7]C# 封装 与访问修饰符

    C# 支持的访问修饰符: Public Private Protected Internal Protected internal Public 访问修饰符 Public 访问修饰符允许一个类将其成员 ...

  5. C#和Java访问修饰符的比较

    访问修饰符对于C#:类 的默认修饰符是 internal(外部类只能被public / internal 修饰)枚举 的默认修饰符是 public 且此类型不允许其它访问修饰符接口 的默认修饰符是 i ...

  6. 01.c#中的访问修饰符

    public  公开的 private 私有的,只能在当前类的内部访问 protected  受保护的,只能在当前内的内部以及该类的子类可以访问. internal    可以在同一个程序(项目)集中 ...

  7. C#封装访问修饰符

    C# 封装 封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中".在面向对象程序设计方法论中,封装是为了防止对实现细节的访问. 抽象和封装是面向对象程序设计的相关特性. ...

  8. php中的访问修饰符 private、protected、public的作用范围

    1. private 只能在类内部使用 2. protected 可以在类内部和继承类里使用.类外部不能使用[即实例化后的对象无法调用] 3. public 全部范围适用. 4.子类复写父类中的方法时 ...

  9. 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)

    访问修饰符(或者叫访问控制符)是面向对象语言的特性之一,用于对类.类成员函数.类成员变量进行访问控制.同时,访问控制符也是语法保留关键字,用于封装组件. Public, Private, Protec ...

随机推荐

  1. Java字段初始化的规律

    class InitializeBookClass { { field=200; } public int field=100; public InitializeBookClass(int valu ...

  2. List,set,Map 的用法和区别

    Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap Collecti ...

  3. LNMP环境搭建(discuz论坛)

    一.操作系统级环境及软件版本 操作系统:CentOS release 6.5 (Final)minimal 内核版本:2.6.32-431.el6.x86_64 MySQL版本:MySQL-5.6.2 ...

  4. scala言语基础学习三(面向对象编程)

    定义一个简单的类 //定义类,包含field以及方法 自定义的getter 和setter 仅仅暴露field的getter和setter方法 private[this]的使用 (只能在当前实例中使用 ...

  5. mysql中slow query log慢日志查询分析

    在mysql中slow query log是一个非常重要的功能,我们可以开启mysql的slow query log功能,这样就可以分析每条sql执行的状态与性能从而进行优化了. 一.慢查询日志 配置 ...

  6. 《Linux与Qt程序设计》知识框架

    本文主要是通过一本书来大致了解Qt开发的框架,不对具体内容做详细分析. 1.首先弄清楚概念:定义->以自己的话理解是什么-> 实现的是什么功能->用在哪些地方 2.前面认识到的知识点 ...

  7. sqlite3编程使用简介

    sqlite3使用范围 SQLite不同于其他大部分的SQL数据库引擎,因为它的首要设计目标就是简单化: 1.易于管理 2.易于使用 3.易于嵌入其他大型程序 4.易于维护和配置  许多人喜欢SQLi ...

  8. EXTJS 5.0 资料

    http://blog.csdn.net/sushengmiyan/article/category/2435029

  9. .net 开源相关

    http://roslyn.codeplex.com/SourceControl/latest https://github.com/dotnet http://www.dotnetfoundatio ...

  10. Valgrind使用[转]

    简介 调试程序有很多方法,例如向屏幕上打印消息,使用调试器,或者只需仔细考虑程序如何运行,并对问题进行有根有据的猜测. 在修复 bug 之前,首先要确定在源程序中的位置.例如,当一个程序产生崩溃或生成 ...