********常见的访问修饰符*********:

public :公共的,可以在其他类中访问

private:私有的,只有在本类里可以使用,其他的类无权访问

类的默认访问修饰符 internal(同一程序集中的文件内才是可访问的,后期讲)

字段和方法的默认访问修饰符是:private

**************值传递和引用传递*************

①:值传递:把参数的值传到方法里面,如果在被调用的方法中对参数的值进行了修改,在方法调用之后,不保留对参数的修改。

②:引用传递:引用传递的方式,如果在被调用的方法中对参数的值进行了修改,在方法调用之后,仍然保留对参数的修改。

按引用传递:ref

形参与实参同时加ref

定义方法

 Swap(ref int num1,ref int num2);

调用方法

    Swap(ref num1,ref num2);

*********this用法*************

this:表示当前对象,通过this可以访问当前类中的成员

作用:当前变量与局部变量同名的情况下,用于区分变量的(this访问的是成员变量)

*******c#中的属性*************

1:用方法保证数据的安全

      Private  int  _age;    //年龄

      //通过方法访问年龄的值          

        public int GetAge()

        {

            return this._age;

        }

      //对年龄的输入加以限制

        public void SetAge(int age)

        {

            if (age < 0 || age > 100)

            {

                this._age = 19;

            }

            else

            {

                this._age = age;

            }

        }

  

2:用属性实现字段的 (封装隐藏内部细节避免不合理赋值)

①:属性:如果要访问类中的私有字段,需要通过get和set访问器实现,这种结合了字段和方法的实现方式,称之为属性

②:属性的语法:

  private int _age;

           public int Age

           {

             get{ return _age;}

             set{ _age=value; }  

           }

       对

            public int Age

           {

              get

             {

                return _age;

              }

              set

              {

                if (value < 0 || value > 100)

                {

                    _age = 19;

                }

                else

               {

                    _age = value;

                }

             }

          }

  

③:属性的数据类型

定义类中的一个属性时,属性的数据类型(int Age)必须与他所访问的字段类型(int _age)一致。

④:属性的访问类型

get访问器(只读):访问get访问器

set访问器(只写):执行set访问器

⑤:在编码中快速的创建属性

选中私有字段  重构  封装字段(光标放在所封装的字段上,ctrl+R+E 生成属性)

⑥:对象初始化器

Student student = new Student(){name="Tom",Age=20};

***********面向对象的封装***************

封装是将数据和操作方法保存在一起的技术(安全)

实现:将成员变量、方法和属性以类的方式进行封装,在类或对象之间通过消息传递进行相互交流,而传递的信息是通过调用类公开的方法完成的

特点:隐藏内部实现,对外只暴露对类的基本操作,不影响其他对象对类的实现

字段:类中的成员变量

属性:封装字段,本质是方法

语法:

public 数据类型 属性名

{

  get{return 字段;}

  set{字段 = value;}

}

属性的数据类型与所封装字段的数据类型一致

属性名与字段名相同,但使用帕斯卡命名法

C#语言————第三章 使用属性升级MyBank的更多相关文章

  1. C和指针 第三章 链接属性 extern、internal、none

    三种链接属性 组成一个程序有多个源文件,如果相同的标识符出现在多个源文件中,那么标识符的链接属性决定如何处理在不同文件中出现的标识符. 链接属性有三种: external:外部 多个源文件中的相同标识 ...

  2. C语言 第三章 关系、逻辑运算与分支流程控制

    目录 一.关系运算 二.逻辑运算 三.运算优先级 四.if语句 4.0.代码块 4.1.单if语句 4.2.if else 4.3.多重if 4.4.?号:号表达式 五.switch语句 一.关系运算 ...

  3. Vue基础第三章 - 计算属性

    1.计算属性介绍 在第二章中我们介绍了在Vue的{{}}中可以使用一些简单的表达式进行计算,但是当表达式过长或者逻辑过于复杂就会变得不易理解和维护,比如第二章的示例{{ text.split(',') ...

  4. 新手小白入门C语言第三章:关于数据类型

    C 语言包含的数据类型 1.整型 整型分为整形常量和整形变量,常量就是我们平时所看到的准确的数字,例如:1.20.333等等,变量则按我的理解是我像内存去申请一个存储空间,告诉内存空间我申请了这个地方 ...

  5. C语言 第三章 基础编程测试与练习

    1.屏幕上输出:This is a C program 2.输入两个整数,求两个数的和,如下所示:请输入第1个数:5请输入第2个数:3 3加5的和是8 3.完成华氏温度与摄氏温度间的转换,如下所示:请 ...

  6. 使用属性升级MyBank

    一.访问修饰符  private   :使用private访问修饰符修饰的属性或者方法只能在本类中使用 public    :可以在任何类中访问到 二.this 关键字:代表当前类,this.属性:代 ...

  7. 《Entity Framework 6 Recipes》中文翻译系列 (19) -----第三章 查询之使用位操作和多属性连接(join)

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-16  过滤中使用位操作 问题 你想在查询的过滤条件中使用位操作. 解决方案 假 ...

  8. 数据结构与算法分析——C语言描述 第三章的单链表

    数据结构与算法分析--C语言描述 第三章的单链表 很基础的东西.走一遍流程.有人说学编程最简单最笨的方法就是把书上的代码敲一遍.这个我是头文件是照抄的..c源文件自己实现. list.h typede ...

  9. KnockoutJS 3.X API 第三章 计算监控属性(5) 参考手册

    计算监控属性构造参考 计算监控属性可使用以下形式进行构造: ko.computed( evaluator [, targetObject, options] ) - 这种形式是创建一个计算监控属性最常 ...

随机推荐

  1. 如何开始DDD(续)

    上一篇针对用户注册案例简单介绍了如何使用 DDD,接下来我将继续针对这个例子做一下补充.先将User模型丰富起来,因为目前看上去他和贫血模型还没有啥大的区别. 首先还是由领域专家来说明业务,他提出了用 ...

  2. Shell脚本 | 截取包名

    之前写 shell 脚本的几篇文章都是先大致介绍脚本的功能和写法,然后一股脑的给出完整的代码.并没有细致入微的解释脚本中的每一行是如何思考如何编写的. 今天反其道而行之,只介绍一行代码.争取能讲的清楚 ...

  3. SQL 必知必会·笔记<18>管理事务处理

    事务处理是一种机制,用来管理必须成批执行的SQL操作,保证数据库不包含不完整的操作结果.利用事务处理,可以保证一组操作不会中途停止,它们要 么完全执行,要么完全不执行(除非明确指示).如果没有错误发生 ...

  4. java高级工程师开放面试题集<二>

    临近年关,不少人蠢蠢欲动,有童鞋问我java后端面试会面试什么? 作为一个java后端老鸟,跌打滚爬多次被面试和面试别人,总结了一些经验,希望对大家有所帮助. 特别说明,仅仅针对工作两年以上的java ...

  5. net4log 添加自定义变量

    在log4net.config中 <parameter> <parameterName value="@czyid" /> <dbType value ...

  6. [转]如何将Angular localhost:4200 改为IP

    本文转自:https://blog.csdn.net/ygznx/article/details/78249118 ust specify the IP in --host option like n ...

  7. [转]微擎应用笔记3--manifest.xml文件使用说明

    本文转自:https://blog.csdn.net/seven_north/article/details/79508121 微擎在安装或卸载模块时会根据manifest.xml生成(或删除)数据库 ...

  8. Oracle入门《Oracle介绍》第一章1-4 Oracle 用户管理

    1.Oracle 默认用户 只有用合法的用户帐号才能访问Oracle数据库 Oracle 有几个默认的数据库用户 数据库中所有数据字典表和视图都存储在 SYS 模式中.SYS用户主要用来维护系统信息和 ...

  9. Rancher2.0构建kubernetes(K8S)集群

    一.环境准备 1.准备至少3台CentOS7版本的虚拟机 # IP地址 主机名称 192.168.1.160 rancher 192.168.1.161 master 192.168.1.162 no ...

  10. 在CentOS下的docker容器中部署spring boot应用的两种方式

    我们通常在 windows 环境下开发 Java,而通常是部署在Linux的服务器中,而CentOS通常是大多数企业的首选,基于Docker的虚拟化容器技术,多数Java应用选择这种方式部署服务.本文 ...