zoukankan      html  css  js  c++  java
  • 属性与字段的区别

    属性是类提供给外部调用时用,的可以使用 对象.属性 设置或读取 一个值 get{reture xxx;}表示可读 set{xxx = value;}表示可写
    字段就是类内部用的,用来存储数据 
    private 字段; 

    public 属性; 

    通过属性访问字段 
     
    讲概念可能不好讲,下面来看一个例子吧!(最简单的)

    class Program {
                        private int field1;  //这个field1就是字段        public int Field1     //这个Fileds1就是属性 

                       {
                     get{return field1;}
                     set{field1=value;} 

                   }
           }//因为字段的访问修饰符为private外部不能访问它,但可以定义属性为public来访问。希望对你有帮助哦。

    由于属性的实质是方法(get或set方法)

    如果满足下面几个条件,那么我们便可以大胆地使用公共字段:

    1. 允许自由读写;

    2. 取值范围只受数据类型约束而无其他任何特定限制;

    3. 值的变动不需要引发类中其它任何成员的相应变化;

    属性的使用条件则恰好跟变量相反,只要满足下面任何一个条件,就应该使用属性:

    1. 要求字段只能读或者只能写;

    2. 需要限制字段的取值范围;

    3. 在改变一个字段的值的时候希望改变对象的其它一些状态;

    总结:虽然在实际项目的开发过程中,公共字段和属性在合适的条件下都可以使用,但是我们应该尽可能的使用属性(property),而不是数据成员(field);把所有的字段都设置为私有字段,如果要暴露它们,则把它们封装成属性,这也是微软推荐的方式。

  • 相关阅读:
    【JavaScript】Object 实例属性
    【JavaScript】Object 构造函数和属性
    【JavaScript】Object 静态方法(三)
    PTA 乙级 1051 复数乘法 (15分) Python
    PTA 乙级 1050 螺旋矩阵 (25分) C++
    PTA 乙级 1049 数列的片段和 (20分) C/C++ (更新OJ导致测试点2无法通过,已解决)
    对象的深拷贝和浅拷贝和拷贝方法
    linux(腾讯云服务器)上安装mysql数据库
    SQLyog远程连接mysql数据库
    linux中搭建tomcat环境
  • 原文地址:https://www.cnblogs.com/zcwvictor-2012/p/3803208.html
Copyright © 2011-2022 走看看