本节内容:

1:字段是什么

2:属性判断字段的安全

3:对属性的解释

1:字段是什么

字段其实在上一节我们就使用过了:再来详细的说他一说

amespace cw
{
public enum gender //public 是为了让所有的类都可以使用
{
男,
女
}
public class Clerk
{ //这就是字段了,那么字段一般 是下划线加变量名 _arg ;;字段是用来存放数据
public string _name;
public gender _gerder;
public int _age;
      
     public void show()
{
Console.WriteLine("{0}是{1},{2}岁。",this._name,this._gerder,this._age); } } ############调用#################
class Program
{
static void Main(string[] args)
{
//要想使用别的类要先实例化
Clerk zs = new Clerk();
zs._name = "张三";
zs._gerder = gender.男;
zs._age = -;
zs.show();
Console.ReadKey();
}
}
} //输出:张三是男,-24岁

2:属性判断字段的安全

看到字段输出 了吗?

张三是男,-24岁

what ? 输出的是-24岁这不如何常理啊!可是我字段就是让存放数据的啊,又不能对判断说能不能放,这可怎么办。。。。。

这时候我们的主人公属性就出来了:那么属性的作用是什么呢?

保护字段,对字段的取值与赋值进行限定。

实例:修改上面字段BUG:

说明:
属性往往被声明在字段在下方,并且将字段私有化。
打个比方就是:属性是男人,主外。而女人主内,并且还要将她私有化。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace cw
{
public enum gender //public 是为了让所有的类都可以使用
{
男,
女
}
public class Clerk
{ //这就是字段了,那么字段一般 是下划线加变量名 _arg ;;字段是用来存放数据
public string _name;
public gender _gerder;
private int _age;
public int Age
{
get
{
return _age;
}
set
{
if (value < || value > ) value = ;
_age = value;
} } public void show()
{
Console.WriteLine("{0}是{1},{2}岁。",this._name,this._gerder,this.Age); } }
} using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace cw
{
class Program
{
static void Main(string[] args)
{
//要想使用别的类要先实例化
Clerk zs = new Clerk();
zs._name = "张三";
zs._gerder = gender.男;
zs.Age = -;
zs.show();
Console.ReadKey();
}
}
}

请求完整实例

3:对属性的说明

通常我们将get和set称为访问器
get属性访问器用于返回属性值
set 属性访问器用于分配新值 属性又分了4种:
)既读又写,如这个实例;
)只读,只有一个get访问器
)只写,只有一个set访问器
)自动 get ;set

c# 第30节 类字段与属性的更多相关文章

  1. 你是否有遇到过某个实体类字段(属性)过多的情况,不想每次点的话戳进来(C# 反射)

    贴上一段代码: bureaucraticEntities apply = new bureaucraticEntities(); Type tapp= app.GetType(); Type ttmp ...

  2. 5. Bean Validation声明式验证四大级别:字段、属性、容器元素、类

    1024,代码改变世界.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BAT的 ...

  3. [.net 面向对象编程基础] (10) 类的成员(字段、属性、方法)

    [.net 面向对象编程基础] (10) 类的成员(字段.属性.方法) 前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态 ...

  4. C#基础(202)--类定义,字段与属性,自动属性,方法及常见错误

    c#类的定义规范 字段与属性的比较: 字段: 字段主要是为类的内部做数据交换交互使用,字段一般是private 字段可以赋值,也可以取值 当字段需要为外部数据提供数据的时候,请将字段封装为属性,而不是 ...

  5. 尚硅谷面试第一季-11MyBatis中当实体类中的属性名和表中的字段名不一样怎么办

    问题: MyBatis中当实体类中的属性名和表中的字段名不一样 ,怎么办 ? 解决方案: 1.写sql语句时起别名 <!-- id属性:必须是接口中方法的方法名 resultType属性:必须是 ...

  6. Python类总结-字段,方法,属性区别及StaticMethod, Property,私有字段和私有属性

    类包含下列 静态属性 动态属性 静态方法 动态方法 class Province: #静态字段--属于类,调用方法类.字段名 memo = "中国23个省之一" #动态字段--属于 ...

  7. C# 中利用反射机制拷贝类的字段和属性(拷贝一个类对象的所有东西付给另一个类对象,而不是付给引用地址)

    from:https://blog.csdn.net/poxiaohai2011/article/details/27555951 //C# 中利用反射机制拷贝类的字段和属性(拷贝一个类对象的所有东西 ...

  8. python 面向对象类成员(字段 方法 属性)

    一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...

  9. C#类的成员(字段、属性、方法)

    前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态成员(static)和非静态成员 b.静态成员用static标识,不标识 ...

随机推荐

  1. npm --save-dev 和 --save 的区别

    转载 >>> 1. npm install 在安装 npm 包时,有两种命令参数可以把它们的信息写入 package.json 文件, 一个是npm install--save    ...

  2. css发展史

      (接着上次博客的内容,现在我们进入css基础)   外部样式表  <link> 内部样式表  <style> 行内样式表  style  (多用于JS) * css注释   ...

  3. CSP-S需备模板大全

    CSP-S需备模板大全 谨以此文祝愿自己\(CSP-S\,\,2019\,\,\color{red}{RP++!!}\) 算法 二分 while(l<r) { int mid=(l+r+1)&g ...

  4. H5混合应用之上下文切换

    一.native/web/hybrid 简介 目前主流应用程序大体分为:Native App(原生应用).Web App(网页应用).Hybrid App(混合应用),它们三者的优缺点比较如下表: 应 ...

  5. 使用pymysql模块进行封装,自动化不可或缺的数据库校验

    import pymysql class HandleMysql: ''' 定义一个mysql处理类 ''' def __init__(self, hostname, username, passwo ...

  6. git 创建分支 提交到远程分支

    git 创建分支 并 提交到远程分支 git branch 0.可以通过git branch -r 命令查看远端库的分支情况 1,从已有的分支创建新的分支(如从master分支),创建一个dev分支 ...

  7. 手写SpringMVC实现过程

    1. Spring Boot,Spring MVC的底层实现都是Servlet的调用. 2. Servlet的生命周期里面首先是类的初始化,然后是类的方法的调用,再次是类的销毁. 3. 创建一个spr ...

  8. -ffast-math编译选项作用

    https://stackoverflow.com/questions/7420665/what-does-gccs-ffast-math-actually-do

  9. GO与PHP的AES交互,key长度问题

    今天在使用go与php的AES加解密交互中,一直有个问题那就是在go中加密后,在php端始终都是无法解密,经过排查最后发现是加密key长度引起的问题, 这里简单记录下. go的AES使用的是第三方的库 ...

  10. File文件的创建,删除 createNewFile() delete()

    package seday03; import java.io.File;import java.io.IOException; /*** 使用File新建一个test1.txt文件* @author ...