C# 基础知识 protected 关键字

 class BaseTest
    {

        public int a = 10;

        protected int b = 2;

        protected void Test()
        {

        }
    }

    class ChildTest : BaseTest
    {

        int c;

        int d;

        public void printTest()
        {
            //protected 关键字是一个成员访问修饰符。 受保护成员在其所在的类中可由派生类实例访问;
            //既只有在通过派生类类型发生访问时,基类的受保护成员在派生类中才是可访问的。

            //=>(1)通过base访问
            Console.WriteLine(base.a.ToString());
            Console.WriteLine(base.b.ToString());

            //=>(2)
            BaseTest baseTest = new BaseTest();//等同于 BaseTest baseTest1 = new ChildTest();
            Console.WriteLine(baseTest.a);
            //Console.WriteLine(basetest.b);//访问不了

            //=>(3)包含类派生的类型
            ChildTest childTest= new ChildTest();
            Console.WriteLine(childTest.a.ToString());
            Console.WriteLine(childTest.b.ToString());

        }

    }
  
时间: 2024-10-11 08:25:27

C# 基础知识 protected 关键字的相关文章

20151024_004_C#基础知识(C#中的访问修饰符,继承,new关键字,里氏转换,is 和 as,多态,序列化与反序列化)

1:C#中的访问修饰符 public: 公共成员,完全公开,没有访问限制. private: 私有的,只能在当前类的内部访问. protected: 受保护的,只能在当前类的内部以及该类的子类中访问. internal: 只能在当前项目中访问,在同一个项目中,internal和public的权限是一样的. protected internal: protected + internal权限. 1.1:能够修饰类的访问修饰符只有两个: public / internal 1.2:接口中的成员不允许

C#基础知识之base关键字

前言 其实很早就想写关于C#基础,总是自己给自己找借口,或者去网上搜搜看看,现在想想觉得自己有点懒惰...  作为开发人员,基础知识是重中之重的,只有巩固.理解.实践才能提高自身的技能.同时也希望通过这个系列,能够帮助需要巩固基础的人. base关键字 调用基类已被派生类重写的方法 public class Father { public virtual void Say() { Console.WriteLine("Father Say"); } } public class Son

java基础知识回顾之关键字

其实java中的常用关键字并不多,总共加起来也没有多少个,具体见如下这张表: private,protect,public 在java中,在类,类的属性和累的方法前面加上一个修饰符来对其进行访问权限上的控制.除了使用private,protect,public之外, 还有一种是default情况,即使不加任何权限修饰符.关于这四中情况的权限差别见下表: 注意:default不是修饰符,他表示一种不加任何修饰符的情况. 这里,主要看一看static,instanceof,final关键字的含义和如

C语言基础知识----易让人头疼的关键字----const && typedef && define

const关键字 const=read only,修饰的为只读变量而不是常量.const修饰的变量不能用作数组的维数也不能放在switch语句的case:之后. 主要作用有: 1.通过把不希望被修改的变量或参数用const来修饰,编译器会保护这些变量不被修改增强系统的可靠性: 2.增强代码的可读性 [html] view plaincopyprint? const int a;      //a为常量不能被修改 int const a;      //a为常量不能被修改 const int *a

JAVA基础知识(2)--关键字final的使用

/***Final关键字的使用*@author lihaiming*Email:[email protected]*关键字Final可以修饰属性,方法,类*修饰属性的时候,final修饰的变量是一个常量*修饰方法时,方法不被子类重写*修饰类时,类不被继承*/ public class TestFinal{ //final修饰变量时,变量就成常量,不能再次对它赋值: private final int I=100; //static是一个全局变量 private static int J=50;

Android基础知识(6)—数据持久化之数据存储

阅读前,请浏览此处上方目录. Android基础知识(6)-数据持久化之数据存储 本章内容为个人笔记,参考书籍有:<疯狂的android>第3版.<第一行代码> 首先,我们要知道什么是数据持久化. 数据持久化就是指那些内存中的瞬时数据保存到存储设备中,保证即使手机在关机的情况下,这些数据不会丢失.保存在内存中的数据是处于瞬时状态,保存在存储设备中的数据是处于持久状态.持久化技术则是提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换. Android系统主要提供了三种方式用于简

Scala学习(1)——Scala基础知识

本文要解决的问题: Spark主要是由Scala语言编写而成的,所以要真正深入了解Spark,必须要熟悉Scala,在此结合阅读<Scala编程>这本书的情况,对Scala语言做一个基本的总结. Scala的优势 (1)简洁 类型推断 函数创建的文法支持 (2)Java互操作性 可重用Java库 可重用Java工具 没有性能惩罚 Scala工作机制 编译成Java字节码 可在任何标准JVM上运行,甚至是一些不规范的JVM上 Scala编译器是Java编译器的作者写的 启动解释器 输入Scala

C#基础知识篇(四)-----------C#笔记

一.类 1. 什么叫做类? 类是具有相同特征的一类事物统称.所以类是一种抽象,即不是一个实体(我们把类看做模板). 2. 什么叫做对象? 对象是根据类的模板创造出来的一个实体,它具有类里所有的特征,一个也多不得,一个也少不得.少了就不叫这个类的成员了,多了也不是!假如张三有变身这个功能,那么张三就不属于人. 记住对象是根据模板创建的,模板有什么它就有什么,不会多也不会少! 3. 什么叫做字段(或者是成员变量)? 我们把定义在方法的外面,类的里面(即:类中)的变量称之为字段或者说是成员变量. 4.

VII Python(4)基础知识

VIIPython(4)基础知识 python函数: 函数是为了代码最大程度的重用和最小化代码冗余而提供的基本程序结构: 函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件: 函数用于将相关功能打包并参数化: python提供很多内置函数,在python中可创建四种函数:全局函数(直接定义在模块中):局部函数(嵌套于其它函数中):lambda匿名函数(表达式,灵活性强):方法(定义在类中的函数,与特定的数据类型关联的函数,并且只能与数据类型关联一起使用): 语法: def funct