关于C# 类的封装详情

作者:zls20210502 时间:2023-11-29 05:38:20 

目录
  • 1、前言

  • 2、实例

1、前言

法存取数据。除此之外,还可以控制数据的存取方式。在面向对象编程中,大多数都是以类作为数据封装的基本单位。类将数据和操作数据的方法结[成一个单位。设计类时,不希望直接存取类中的数据,而是希望通过方法来存取数据。这样就可以到封装数据的目的,方便以后的维护升级,也可以在操作数据时多一层判断。

此外,封装还可以解决数据存取的权限问题,可以使用封装将数据隐藏起来,形成一个封闭的问,然后可以设置哪些数据只能在这个空间中使用,哪些数据可以在空间外部使用。一个类中包含敏感数据,有些人可以访问,有些人不能访问,如果不对这些数据的访问加以限制,后果将会非常严所以在编写程序时,要对类的成员使用不同的访问修饰符,从而定义它们的访问级别。

封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口这一特定的访问权限来使用类的成员。如充电器,它是将220V的电源经过降压整流滤波后,用导线与电池相连,然后进行充电。而降压整流滤波这一过程就相当于类的封装。

2、实例

【例1】 创建一个控制台应用程序,其中自定义一个MyClass类,该类用来封装加数和被加数属性。然后自定义一个Add方法,该方法用来返回该类中两个int 属性的和。Program 主程序类中,实例化自定义类的对象,并分别为MyClass类中的两个属性赋值。最后调用 MyClass 类中的自定义方法 Add返回两个属性的和。

代码如下:


class MyClass //自定义类,封装加数和被加数属性
{
prvate intx=0: //定义int型变量,作为加数
private int y = 0; //定义int型变量,作为被加数
///<summary>
///加数
///<Summry>
publie int x
{
get {return x; }
set
{
x =value;
}
}
public int y //被加数
get
{
return y;
}
set
{
y * value;
}
}

public int Add() //求和
{
retum x+Y
}
class Program
{
static void Main(string(] args)
{
MyClass myclass u new MyClass(); //实例化 MyClass 的对象
myclass.x=3; //为 MyClass 类中的属性默值
myclass.Y =5; //为 MyClass 类中的属性赋值
Console.WriteLine(myclass.Add()): //调用 MyClass 类中的 Add 方法求和
Console.ReadLine();
}
}

运行结果为 8

来源:https://www.tuicool.com/articles/E36jmuu

标签:C#,类,封装
0
投稿

猜你喜欢

  • SpringBoot集成Redis流程详解

    2022-11-08 21:38:11
  • 在Ubuntu中安装VSCode并配置C/C++开发环境的方法步骤

    2021-07-04 18:19:19
  • Java调用shell脚本解决传参和权限问题的方法

    2023-04-27 05:50:37
  • Android Studio 运行按钮灰色的完美解决方法

    2023-08-16 05:59:42
  • 手把手带你了解Java-Stream流方法学习及总结

    2023-11-25 19:30:15
  • Android复选框CheckBox与开关按钮Switch及单选按钮RadioButton使用示例详解

    2023-02-06 18:20:42
  • SpringBoot利用拦截器实现避免重复请求

    2022-02-07 00:21:53
  • Android如何实现APP自动更新

    2021-10-31 06:09:27
  • Android通过原生APi获取所在位置的经纬度

    2022-11-12 17:56:14
  • java设计模式--三种工厂模式详解

    2023-11-29 09:54:06
  • Android仿微信雷达扫描效果的实现方法

    2022-07-28 01:49:17
  • Android用户注册界面简单设计

    2023-07-13 02:59:50
  • Spring Boot Admin实践详解

    2023-08-25 06:57:53
  • Mybatis查询时,区分大小写操作

    2021-08-11 14:10:54
  • 老生常谈Java动态编译(必看篇)

    2022-04-02 14:19:38
  • C#封装的常用文件操作类实例

    2021-08-14 10:08:03
  • 简单实现Android读取网络图片到本地

    2021-12-20 04:31:05
  • java内部类的定义与分类示例详解

    2022-07-01 20:16:47
  • Ubuntu中使用VS Code与安装C/C++插件的教程详解

    2023-07-26 08:21:00
  • C#实现围棋游戏

    2022-04-20 11:08:57
  • asp之家 软件编程 m.aspxhome.com