C#的封装_封装元器件

C#的封装_封装元器件封装:即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的作用:封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性,使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作封装的优点:1.良好的封装能够减少

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

封装:即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

封装的作用:封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性,使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作

封装的优点:1. 良好的封装能够减少耦合。 2. 类内部的结构可以自由修改。 3. 可以对成员变量进行更精确的控制。 4. 隐藏信息,实现细节。

举例:

对年龄属性的封装

 private int age;//private:私有的,仅供内部进行访问
 public int Age//public:公有的,任何地方都可以访问
        { 
   
            //获取或读取字段值
            get { 
    return age; }//属性的读取
            set { 
    age = value; }//属性赋值(value为关键字)
        }

对这个方法进行一些操作时的代码:

first.Age = 21;
Console.WriteLine("年龄为:{0}",first.Age);

运行结果:
在这里插入图片描述


当然在封装时,会有”有返回值”和”无返回值”两种,一般的如果要对封装的函数得出的结果还要继续使用的话,比如赋值、数组的遍历等等,就写返回值,否则就不需要

对于没有返回值的方法进行举例:(实现一个计算功能)
 public void List (double num1,double num2,string fuhao) 
        { 
   
            double count;
            switch (fuhao)
            { 
   
                case "+":
                     count =num1 + num2;
                    Console.WriteLine("您要计算的值为:{0}" , count);
                    break;
                case "-":
                    count = num1 - num2;
                    Console.WriteLine("您要计算的值为:{0}" , count);
                    break;
                case "×":
                    count = num1 * num2;
                    Console.WriteLine("您要计算的值为:{0}" , count);
                    break;
                case "÷":
                    count = num1 / num2;
                    Console.WriteLine("您要计算的值为:{0}" , count);
                    break;
            }
        }

在调用时候的代码:

//分别实现四个功能
            first.List(20,10,"×");
            first.List(20, 10, "+");
            first.List(20, 10, "-");
            first.List(20, 10, "÷");

运行结果:
在这里插入图片描述

对于有返回值的:(数组的求和)
public int Then(int[]list)
        { 
   
            int k = 0;
            for (int i = 0; i < list.Length; i++)
            { 
   
                k += list[i];
            }
            return k;
        }

在调用时的操作代码:

            int[] arry = { 
   1,2,3,5,4,6,9,8,7 };
            int arry1= first.Then(arry);
            Console.WriteLine(arry1);

运行结果:
在这里插入图片描述


在参数传递的时候会用到形参和实参,我们来举例介绍说明一下:
形参:就是形式参数,在进行方法封装时,我们只定义了这个参数的类型,并没有具体的值:

例如以下代码中,num1和num2和fuhao就是形参:

 public void List (double num1,double num2,string fuhao) { 
   }
实参:在定义了形参后对其赋值:

例如以下代码中20、10和×分别对应以上的num1和num2和fuhao,也就是这三个的赋值,我们称赋值的这三个数为实参:

 first.List(20,10,"×");

在封装时会用到GET和SET方法,那么我们具体介绍一下其作用:

GET是取值的方法:当我们进行封装时首先得读取到要对哪一个值进行封装,然后才能进行;

SET是设置值的方法:当取到值后,接下来就应该对其值进行具体的设置。

例如在wpf程序设计中一般会用到:

分别是设置btn的宽高和获取btn的宽高
            Canvas.SetTop(btn, 10);
            Canvas.SetLeft(btn, 1400);
            Canvas.GetLeft(btn);
            Canvas.GetTop(btn);
一般的来说当我们需要进行数据间的传递的时候,可以对其方法或属性进行封装,然后在进行调用
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195686.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数学建模五个步骤_思考问题的五步方法

    数学建模五个步骤_思考问题的五步方法五步方法五步方法顾名思义,通过五个步骤完成用数学模型解决实际问题。它包含以下五个步骤:提出问题 选择建模方法 推导模型的数学表达式 求解模型 回答问题第一步是提出问题,即对遇到的实际问题使用恰当的数学语言进行表达。一般而言,首要任务是对术语进行定义。无论是实际问题涉及到的变量,还是这些变量的单位、相关假设,都应当用等式或者不等式进行表达。在这一基础上,我们就可以用数学语言对实际问…

    2022年9月23日
    0
  • 毕业5年,我问遍了身边的大佬,总结了他们的学习方法

    毕业5年,我问遍了身边的大佬,总结了他们的学习方法我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。

    2022年6月10日
    22
  • @scheduled注解配置时间(spring定时器注解)

    开发相关链接:https://blog.csdn.net/xubenxismile/article/details/96480780@Scheduled注解的使用这里不详细说明,直接对8个参数进行讲解。参数详解1、cron该参数接收一个cron表达式,cron表达式是一个字符串,字符串以5或6个空格隔开,分开共6或7个域,每一个域代表一个含义。cron表达式语法[秒][分…

    2022年4月18日
    33
  • position属性值有哪些_静态web和动态web的区别

    position属性值有哪些_静态web和动态web的区别1:static静态定位,是默认值,当代码使用top,left.等,无效2:absolute绝对定位,相对于父元素进行定位,元素通过top,right,left等进行定位3:fixed

    2022年8月1日
    2
  • R语言 逐步回归分析 AIC

    R语言 逐步回归分析 AIC逐步回归分析是以AIC信息统计量为准则,通过选择最小的AIC信息统计量,来达到删除或增加变量的目的

    2022年5月23日
    52
  • CUDA编程入门极简教程[通俗易懂]

    码字不易,欢迎给个赞!欢迎交流与转载,文章会同步发布在公众号:机器学习算法全栈工程师(Jeemy110)目录目录前言CUDA编程模型基础向量加法实例矩阵乘法实例小结参考资料前言2006年,NVIDIA公司发布了CUDA,CUDA是建立在NVIDIA的CPUs上的一个通用并行计算平台和编程模型,基于CUDA编程可以利用GPUs的并行计算引擎…

    2022年4月17日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号