zoukankan      html  css  js  c++  java
  • C# 资产(Property) 与普通字段(field)变量的区别

    注:我更习惯于称呼 Property 为资产,而不是属性,如果你知道Propery的英文含义,也许会理解我的观点。

    刚写程序时总觉得一个字段就能满足要求,何必要使用定义起来麻烦的属性
    要get、set的去定义,代码量还大,真不知道他们的区别和优点
    例:

    public class myclass
    {

       public static string A

       private sting _B="";
       public string Getval
       {
           get { retrun _B ;}
           set { _B = value; }
       }
    }

    myclass.A 和 myclass.Getval可能实现同样功能,为什么一定要用定义属性?

    现在简单总结下属性较普通变量的优点:
    1、数据安全
       因为A是个公有变量,在类的外部可以任意更改,为了防止因用户任意更改,可用属性get、set来限制_B的的只读、只写或控制_B的最大或最小
       引用一位老兄的简答:"其实自定义变量已经默认实现了属性,只是简单的读写而已,我们定义的属性要在读写的基础上加上更多限制,以后你学的多了就会发现,很多东西都是为了数据安全而加入的,说白了就是限制,例如接口,接口中的方法你必须(注意是必须,强制性的)要实现"
    2、OOP和编程的一个原则就是数据封装,意味着我们不应该将字段的类型以公开的方式提供给外界
    3、其实单纯写程序一点不难,难得是如何设计程序,使代码简洁易读而效率又最高,如何保证程序的安全运行。

  • 相关阅读:
    面向对象
    6.jQuery基础_试题
    5.JavaScript操作BOM、DOM对象_试题
    css疑问
    JAVA学习笔记_五JAVA开发中的WEB前端技术
    java学习笔记_mysql随堂考试_错题
    java学习笔记④MySql数据库--03/04 DQL查询
    java学习笔记④MySql数据库--01/02 database table 数据的增删改
    java学习笔记③JAVA核心API编程-01集合框架和泛型
    java学习笔记②JAVA面向对象
  • 原文地址:https://www.cnblogs.com/smwikipedia/p/1460303.html
Copyright © 2011-2022 走看看