C#入门系列 -- 面向对象之封装
【摘要】 概念封装是指隐藏对象的特征和实现细节,仅对外提供公共访问方式。封装的意义:封装为我们减少了代码量,防止代码冗余,不用我们写一些重复的代码,可以把相同的代码封装成一个方法,等我们需要的时候,只需调用这个方法。封装就是好处是当需要修改技术细节的时候,可以不影响调用者与类的交互方式,保证数据完整性。封装的目的是使类型安全、易用。需要的成员才暴露给使用者,不需要的保护起来。封装好处:将改变隔离便于...
概念
封装是指隐藏对象的特征和实现细节,仅对外提供公共访问方式。
封装的意义:
封装为我们减少了代码量,防止代码冗余,不用我们写一些重复的代码,可以把相同的代码封装成一个方法,等我们需要的时候,只需调用这个方法。封装就是好处是当需要修改技术细节的时候,可以不影响调用者与类的交互方式,保证数据完整性。
封装的目的是使类型安全、易用。需要的成员才暴露给使用者,不需要的保护起来。
封装好处:
- 将改变隔离
- 便于使用
- 提高重用性
- 提高安全性
封装原则:
- 将不需要对外提供的内容都隐藏起来。
- 把字段都隐藏,提供公共属性对其访问。
抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。
C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。
访问修饰符
一个 访问修饰符 定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:
-
public:所有对象都可以访问;
-
private:对象本身在对象内部可以访问;
-
protected:只有该类对象及其子类对象可以访问
-
internal:同一个程序集的对象可以访问;
-
protected internal:访问限于当前程序集或派生自包含类的类型。
代码示例:
using System;
namespace VSProject
{
class Program
{
static void Main(string[] args)
{
Test t = new Test();
int a = t.a;
int b = t.B;
int c = t.C;
int d = t.D;
Console.ReadLine();
}
}
class Test
{
// 私有数据成员 -- 外部不能直接访问
private int a;
// 公开数据成员 -- 外部可通过实例访问
public int B;
// 受保护的数据成员 -- 外部不能直接访问,但其子类可以访问
protected int C;
// 内部数据成员 -- 程序集内可以访问
internal int D;
}
}
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)