C#forUnity快速入门(连载11)-C#的属性

C# for Unity编程语言快速入门教程(连载11)_C#的属性


   C#的“属性”是一种类字段的约束控制手段,其直接目的就是控制字段的输入合法性,以及实现对字段的快速访问。


目的;
    引入属性概念是为了更合理的控制对字段的可访问性。
    
规则1: 属性是方法的简化版,主要是用于对字段的控制。
规则2: 属性本质就是Set 与Get 方法的简化。
规则3: 属性可以写成只读属性、只写属性。
规则4: 属性中如果不需要对字段做控制处理,可以简化写法。

因为这个概念相对比较简单,所以直接写如下演示代码,供C#初学者(C#小白)进行学习参考。

class Program
    {
        private string _Name;
        private int _Age;
        private bool _Gender;
        //属性的简化写法
        public string Address { set; get; }

//一般属性写法
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        public bool Gender
        {
            get { return _Gender; }
            set { _Gender = value; }
        }

//带有字段约束控制的属性
        public int Age
        {
            get { return _Age; }
            set {
                if(value>0 && value<=120)
                {
                    _Age = value;
                }
            }
        }

/// <summary>
        /// 显示属性数值
        /// </summary>
        public void DisplayInfo()
        {
            Console.WriteLine("姓名:{0},年龄:{1},性别:{2}",Name,Age,Gender);
            Console.WriteLine("地址:"+Address);
        }

/// <summary>
        /// 方法测试
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Program obj = new Program();
            obj.Name = "小虎";
            obj.Age = 180;
            obj.Gender=true;
            obj.Address = "中国北京";
            obj.DisplayInfo();
            Console.ReadLine();
        }
    }

时间: 2024-12-28 11:11:32

C#forUnity快速入门(连载11)-C#的属性的相关文章

C#forUnity快速入门(连载15)_C#委托与事件

C# for Unity编程语言快速入门教程(连载15)_C#委托与事件 C#的委托(delegate)与事件(event)  其实不是一个容易理解的技术,而且很多C#书籍作者还经常把它与"观察者设计模式"(Observer模式)放在一起进行讨论(注:因为委托与事件是"Observer"设计模式的一种很好的实现方式),其实这就进一步增加了对于C#初学者的学习难度. 所以笔者打破常规,先从讲故事的方式,先来介绍"委托". 案例故事:"老板

C#forUnity快速入门(连载12)-C#的字符串

C# for Unity编程语言快速入门教程(连载12)_C#的字符串 "C#字符串"是一个重要的知识点,对于C#初学者来说有很多重要知识点需要进行学习,总体归纳有三个大的方面: 知识点一:  字符串的常用方法与属性 属性:     Length:           得到字符串的长度   方法:    IsNullOrEmpty()   表示空字符串: IndexOf()  :           查找指定字符(子字符串). SubString():          字符串截取(得

C#forUnity快速入门(连载13)-C#结构体

C# for Unity编程语言快速入门教程(连载13)_C#结构体 C#的"结构体"使用Struct 关键字来定义,是与"类"."接口"并列的编程单位.其设计的主要目的是自定义"值类型",即允许用户自定义值类型. 适用范围:   结构适合一些小型的数据结构,这些结构包含的数据以创建后不修改的数据为主.也适合数据打包,一次性定义多个变量. 结构体的限制很多.1> 除非字段声明为const .static,否则无法初始化.

C# for Unity快速入门(连载14)_C#枚举类型

C# for Unity编程语言快速入门教程(连载14)_C#枚举类型 C#的枚举类型(用 "enum"关键字标识),按照笔者理解本质上是一个隐式继承了System.Enum的整形类.枚举类型的主要作用是:为了更好的识别一个变量的具体含义,且固定变量的使用"范围". 例如:形如如下定义 public enum Week{   Monday,  Tuesday,  Wenesday,  Thursday,  Friday,  Saterday,  Sunday }  

AngularJS快速入门指南11:事件

AngularJS拥有自己的HTML事件指令. ng-click指令 ng-click指令定义了AngularJS的click事件. <div ng-app="" ng-controller="myCtrl"> <button ng-click="count = count + 1">Click me!</button> <p>{{ count }}</p> </div> 运

AngularJS快速入门指南20:快速参考

thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table.reference>thead>tr>td, table.reference>tbody>tr>td, table.reference>tfoot>tr>td { padding: 8px; line-height: 1.42857143; vertic

AngularJS快速入门指南12:模块

AngularJS模块定义了一个application. 模块是一个application中不同部分的容器. application中的所有控制器都应该属于一个模块. 带有一个控制器的模块 下面这个application("myApp")包含一个控制器("myCtrl"): <!DOCTYPE html> <html> <script src="http://ajax.googleapis.com/ajax/libs/angu

AngularJS快速入门指南10:DOM节点

AngularJS通过指令将application数据绑定到HTML DOM元素的属性上. ng-disabled指令 ng-disabled指令将AngularJS application数据绑定到HTML元素的disabled属性上. <div ng-app=""> <p> <button ng-disabled="mySwitch">Click Me!</button> </p> <p>

AngularJS快速入门指南01:导言

AngularJS使用新的attributes扩展了HTML AngularJS对单页面应用的支持非常好(SPAs) AngularJS非常容易学习 现在就开始学习AngularJS吧! 关于本指南 本指南旨在帮助你尽可能快速而有效地学习AngularJS.通过该指南你会学习到AngularJS的一些基本特性,例如指令.表达式.过滤器.模块和控制器等.以及其它所有你需要知道的有关AngularJS的东西,如事件.DOM节点.表单.用户输入.数据验证.Http对象等. AngularJS快速入门指