首先,访问修饰符最常用的有 public private protected internal ......

public 和private确实很好理解,但是protected在做例子的时候我总是走入误区.首先,protected 是保护的意思,就是说加入我一个类中的字段或者方法不希望被所有类来继承,而是要被指定的类来继承.那么怎么办,我们就会用到protected.也就是说加入方法或者字段被protected修饰,那么这个方法或者字段就只能由特定的类来调用,就是该类的子类.

我的误区就是这样来写:

class parent                    //父类
    {
       protected int i = 100;
    }
    class son : parent              //子类继承父类
    {
       public void fun()
       {
           parent p = new parent();//这是错误的
           p.i=10;                  //这段代码会有编译错误
            Console.WriteLine(i);
       }    
    }

我发现我经常范这样幼稚的错误,证明我根本没有理解protected的意思.不知道有没有人和我走入一样的误区.

其实正确的写法是这样的:

class parent
    {
       protected int i = 100;
    }
    class son : parent   //子类继承父类
    {
       public void fun()
       {    
         Console.WriteLine(i);//正确
       }    
    }

其实既然继承过来了,就可以直接访问了,也可以说son 里已经有i这个成员了,是从父亲哪里继承来了.

转载于:https://www.cnblogs.com/zcm123/archive/2013/01/15/2860812.html

C#的访问修饰符Protected相关推荐

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

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

  2. java中的访问修饰符

    对Java中的修饰符一直记不住,现在结合网上的一些资料进行总结,并重点说明一下protected修饰符. 一. Java中的访问修饰符 Java面向对象的基本思想之一是封装细节并且公开接口.Java语 ...

  3. java中访问修饰符_Java中的访问修饰符介绍

    java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...

  4. Java有哪些访问修饰符呢?

    转自: Java有哪些访问修饰符呢? Java语言中访问修饰符用于设置类,变量,方法和构造函数的访问级别. 四个不同的访问修饰符为: 无关键字(不指定修饰符):对包可见,不需要修饰符. private ...

  5. 访问修饰符的个人理解-private与protected

    一:private                             private --只有在声明它的类或结构中访问. 例: public class A {   private string ...

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

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

  7. 解析Visual C# 7.2中的private protected访问修饰符

    去年12月份,随着Visual Studio 2017 Update 15.5的发布,Visual C#迎来了它的最新版本:7.2. 在这个版本中,有个让人难以理解的新特性,就是private pro ...

  8. java override 访问权限_java基础之——访问修饰符(private/default/protected/public)

    1. 访问修饰符介绍 java中的访问修饰符包含了四种:private.default(没有对应的保留字).protected和public.它们的含义如下:private:如果一个元素声明为priv ...

  9. 详解C#防访问修饰符:public,private,protected,internal

    访问修饰符大家都很熟悉吧,今天我们来学习一下C#里面的访问修饰符. 修饰符 含义 public 访问不受限制. protected 访问仅限于包含类或从包含类派生的类型. internal 访问仅限于 ...

最新文章

  1. Ubuntu 彻底卸载 OpenCV
  2. 怎么重写MDK(KEIL)Flash烧写程序
  3. anaconda如何保存python文件_想在Jupyter Notebook(Anaconda)中保存并运行Python脚本
  4. (day 08 - 先序遍历+判断+递归)剑指 Offer 26. 树的子结构
  5. java自动行走_java数据结构实现机器人行走
  6. DoS攻击原理与实战(LOIC+Hping3)
  7. 点餐小程序购物车效果实现
  8. PIL(pillow)读取图片自动旋转的问题
  9. FTP协议是一种用于什么的协议
  10. 【英文命名】星座、奢侈品、深海物种相关英语词汇帮助你命名
  11. 从 LoG 到 DoG 再到 XDoG, FDoG
  12. 萨班斯法案:由来、影响及争论
  13. P4设计实现链路监控
  14. ACM常见组合博弈游戏
  15. flex:1 的含义 以及属性值1的含义
  16. c语言的int型运算符,C语言运算符
  17. 第六周——爬虫入门 Day4 8.4
  18. 今天都到了2018年9月19日了
  19. 华为Mate 20X首发,九月手机厂商5G手机大爆发,小米MIX4配置曝光
  20. 「Cpolar」看我如何实现公网远程控制Mac OS【使用mac自带VNC】

热门文章

  1. sentinel使用(结合OpenFeign)
  2. APUE(第八章)进程控制
  3. 2021华为软件精英挑战赛(附赠线下判题器链接)——经历
  4. java swing setborder_Swing编程边框(Border)的用法总结
  5. html不支持css3,ie不支持css3吗?
  6. pandas最大的时间间隔_pandas生成时间列表(某段连续时间或者固定间隔时间段)(示例代码)...
  7. vue 循环tabs 标签页 组件_vue学习笔记--v-for循环标签页label并实现根据不同label表格切换...
  8. 如何用atom编辑python_Atom运行Python的安装配置步骤和代码范例详解
  9. html月球绕地球转,CSS3地球公转,月球绕地球转
  10. 11岁的孩子能看懂C语言么,10岁小朋友开发的编程语言,给你们看看~