没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
访问修饰符的个人理解-private与protected
一:private
private --只有在声明它的类或结构中访问.
例:
public class A
{
private string name="xu";
int age="23"; //默认为private
}
这时就不能在A的外部直接读取name和age的值,只有通过A类中的方法或属性完成。完整示例:
public class A
{
private string name="xu";
int age="23"; //默认为private
public string GetName() //这时的属性或方法就不能再声明为private 或protected了,这样会导致在外部同样不能访问。
{
return name;
}
public int Age
{
get { retunr age;}
}
}
public class B
{
public B()
{
A a1=new A();
//string x=a1.name; 这样就不能访问A的name了
string x=a1.GetName() ; //通过方法来访问。
一:private
private --只有在声明它的类或结构中访问.
例:
public class A
{
private string name="xu";
int age="23"; //默认为private
}
这时就不能在A的外部直接读取name和age的值,只有通过A类中的方法或属性完成。完整示例:
public class A
{
private string name="xu";
int age="23"; //默认为private
public string GetName() //这时的属性或方法就不能再声明为private 或protected了,这样会导致在外部同样不能访问。
{
return name;
}
public int Age
{
get { retunr age;}
}
}
public class B
{
public B()
{
A a1=new A();
//string x=a1.name; 这样就不能访问A的name了
string x=a1.GetName() ; //通过方法来访问。
//int age=a1.age; can not do this;
int age=a1.Age; //通过属性来访问
}
}
二 protected
protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。
个人理解为:受保护成员只能在声明它的类中访问(如同private一样)或者通过它的派生类来访问。
如下例:
using System;
class A
{
protected int x = 123;
public int X{get return 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;
// a.X;----这样就可以读取
// OK, because this class derives from A.
b.x = 10;
}
int age=a1.Age; //通过属性来访问
}
}
二 protected
protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。
个人理解为:受保护成员只能在声明它的类中访问(如同private一样)或者通过它的派生类来访问。
如下例:
using System;
class A
{
protected int x = 123;
public int X{get return 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;
// a.X;----这样就可以读取
// OK, because this class derives from A.
b.x = 10;
}
剩余5页未读,继续阅读
资源评论
twinsouzhili
- 粉丝: 35
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- da_1715269209522..apk
- tensorflow-gpu-2.2.0-cp38-cp38-win-amd64.whl
- tensorflow-gpu-2.2.3-cp38-cp38-win-amd64.whl
- tensorflow-gpu-2.2.3-cp36-cp36m-win-amd64.whl
- SSM 框架搭建部署流程
- Screenshot_2024-05-09-23-33-56-49.jpg
- Linux环境下安装和使用 Spark教程
- Linux环境下搭建Zookeeper的分布式环境教程
- Linux环境下搭建Zookeeper的分布式环境教程
- 大学生创新创业项目:中医药知识图谱构建,包含笔记和代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功