C#的访问修饰符Protected
首先,访问修饰符最常用的有 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相关推荐
- c#中的访问修饰符Protected,privet ,public, internal,和internal protected
Protected,privet ,public, internal,和internal protected的区别 Private修饰的,只能值类内部使用,外部不可以使用,子类不能直接访问,但可以通过 ...
- java中的访问修饰符
对Java中的修饰符一直记不住,现在结合网上的一些资料进行总结,并重点说明一下protected修饰符. 一. Java中的访问修饰符 Java面向对象的基本思想之一是封装细节并且公开接口.Java语 ...
- java中访问修饰符_Java中的访问修饰符介绍
java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...
- Java有哪些访问修饰符呢?
转自: Java有哪些访问修饰符呢? Java语言中访问修饰符用于设置类,变量,方法和构造函数的访问级别. 四个不同的访问修饰符为: 无关键字(不指定修饰符):对包可见,不需要修饰符. private ...
- 访问修饰符的个人理解-private与protected
一:private private --只有在声明它的类或结构中访问. 例: public class A { private string ...
- 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)
访问修饰符(或者叫访问控制符)是面向对象语言的特性之一,用于对类.类成员函数.类成员变量进行访问控制.同时,访问控制符也是语法保留关键字,用于封装组件. Public, Private, Protec ...
- 解析Visual C# 7.2中的private protected访问修饰符
去年12月份,随着Visual Studio 2017 Update 15.5的发布,Visual C#迎来了它的最新版本:7.2. 在这个版本中,有个让人难以理解的新特性,就是private pro ...
- java override 访问权限_java基础之——访问修饰符(private/default/protected/public)
1. 访问修饰符介绍 java中的访问修饰符包含了四种:private.default(没有对应的保留字).protected和public.它们的含义如下:private:如果一个元素声明为priv ...
- 详解C#防访问修饰符:public,private,protected,internal
访问修饰符大家都很熟悉吧,今天我们来学习一下C#里面的访问修饰符. 修饰符 含义 public 访问不受限制. protected 访问仅限于包含类或从包含类派生的类型. internal 访问仅限于 ...
最新文章
- Ubuntu 彻底卸载 OpenCV
- 怎么重写MDK(KEIL)Flash烧写程序
- anaconda如何保存python文件_想在Jupyter Notebook(Anaconda)中保存并运行Python脚本
- (day 08 - 先序遍历+判断+递归)剑指 Offer 26. 树的子结构
- java自动行走_java数据结构实现机器人行走
- DoS攻击原理与实战(LOIC+Hping3)
- 点餐小程序购物车效果实现
- PIL(pillow)读取图片自动旋转的问题
- FTP协议是一种用于什么的协议
- 【英文命名】星座、奢侈品、深海物种相关英语词汇帮助你命名
- 从 LoG 到 DoG 再到 XDoG, FDoG
- 萨班斯法案:由来、影响及争论
- P4设计实现链路监控
- ACM常见组合博弈游戏
- flex:1 的含义 以及属性值1的含义
- c语言的int型运算符,C语言运算符
- 第六周——爬虫入门 Day4 8.4
- 今天都到了2018年9月19日了
- 华为Mate 20X首发,九月手机厂商5G手机大爆发,小米MIX4配置曝光
- 「Cpolar」看我如何实现公网远程控制Mac OS【使用mac自带VNC】
热门文章
- sentinel使用(结合OpenFeign)
- APUE(第八章)进程控制
- 2021华为软件精英挑战赛(附赠线下判题器链接)——经历
- java swing setborder_Swing编程边框(Border)的用法总结
- html不支持css3,ie不支持css3吗?
- pandas最大的时间间隔_pandas生成时间列表(某段连续时间或者固定间隔时间段)(示例代码)...
- vue 循环tabs 标签页 组件_vue学习笔记--v-for循环标签页label并实现根据不同label表格切换...
- 如何用atom编辑python_Atom运行Python的安装配置步骤和代码范例详解
- html月球绕地球转,CSS3地球公转,月球绕地球转
- 11岁的孩子能看懂C语言么,10岁小朋友开发的编程语言,给你们看看~