C#类中属性与成员变量的使用小结

属性实际上和成员变量没什么区别,属性代表类的某种特征, 让人更好理解而已.

使用中注意问题:
1、属性名和变量名不能相同,

2、一般变量都是private,属性都是public的,属性用于给类外调用,变量限于类内使用,感觉封装性体现得要好些

3、属性必须和一个变量相联系,而这个变量必须要在类中定义.如果不定义,用成如下方法:


代码如下:

public int b //定义一个属性b
  {  
   get
   {
    return b;
   }
   set
   {
    b = value;//对b赋值
   }

结果会导致死循环,而堆栈溢出错误.C++方面转C#时,困惑了很久,正常的使用

定义类A


代码如下:

public class A
 {
  private int b1 = 1;//这里定义一个变量
  public int b           //这里定义一个属性
  {  
   get
   {
    return b1;//属性和变量关联
   }
   set
   {
    b1 = value;
   }
  }

public A(int n)
  {
   b1 = n;
  } 
 }

实际上编程时完全按照C++的方式,完全没问题,根本不用取管什么属性也可以.

(0)

相关推荐

  • C#中static静态变量的用法实例

    本文实例讲述了C#中static静态变量的用法.分享给大家供大家参考.具体如下: 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型   静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量. 特点: ① .该变量在全局数据区分配内存. ② .初始化:如果不显式初始化,那么将被隐式初始化为0.   静态局部变量 定义:在局部

  • C#中常量和只读变量的区别小结

    常量和只读变量有以下区别: 1.常量必须在声明时就被初始化,指定了值后就不能修改了.只读字段可以在声明时被初始化,也可以在构造函数中指定初始化的值,在构造以后值就不能修改. 2.常量是静态的,而只读字段可以是静态和动态的 3.Const可以用在字段和局部变量,readonly只可以修饰字段

  • C#中属性和成员变量的区别说明

    一个类,有时候搞不清楚到底用成员变量还是属性. 如: 成员变量 public   string   Name; 或者用属性 private   string   name public   string   Name{         get         {                 return   name;         }         set         {                 name   =   value;         } } 属性与成员变量类似

  • C#不同类型的成员变量(字段)的默认值介绍

    创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量赋初始值,C#编译器缺省将每一个成员变量初始化为他的默认值. 如果变量是方法的局部变量,编译器就会认为在使用该变量之前,代码必须给它显示的设定一个值.否则会发生"使用了未赋值的局部变量"的错误. 对于其他情况,编译器会在创建变量时,把变量初始化为默认值.1.对于整型.浮点型.枚举类型(数值型),默认值为0或0.0.2.字符类型的默认值为\x0000.3.布尔类型的默认值为false.4.引用类型的默认值为null. 如果声时变

  • C# 基础入门--变量

    使用变量分为3步:声明.赋值.使用. 声明变量的语法:数据类型 变量名: 给变量赋值的语法:变量名=值: namespace Test { class Program { static void Main(string[] args) { int age;//声明变量,类型为int,变量名为age age = 18;//给变量age赋值为18 Console.WriteLine("我今年"+age="岁");//打印age age = 19;//修改了变量age的值

  • 在c#中把字符串转为变量名并获取变量值的小例子

    复制代码 代码如下: public class Program    {        public string str = "spp";        public string spp = "Hello World!"; public static void Main(string[] args)        {            Program p = new Program(); Console.WriteLine(p.GetType().GetFi

  • C#: 引用变量与数值变量的区别

    1. 值参数当利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并且将此拷贝传递给该方法.被调用的方法不传经修改内存中实参的值,所以使用值参数时,可以保证实际值是安全的.在调用方法时,如果形式化参数的类型是值参数的话,调用的实参的值必须保证是正确的值表达式.在下面的例子中,程序员并没有实现他希望交换值的目的: 复制代码 代码如下: using System;class Test{static void Swap(int x,int y){int temp=x;x=y;y=temp;}stat

  • C#把整个文件内容读入字符串变量的方法

    本文实例讲述了C#把整个文件内容读入字符串变量的方法.分享给大家供大家参考.具体实现方法如下: using System; namespace PlayingAround { class ReadAll { public static void Main(string[] args) { string contents = System.IO.File.ReadAllText(@"C:\t1"); Console.Out.WriteLine("contents = "

  • C#学习笔记整理_变量等基础语法(必看篇)

    C#学习笔记1: 变量的作用域冲突时,调用实例变量:this.a,调用类变量:类名.a 常量总是静态的,必须初始化,一般用全大写格式,声明关键字为const,如const int NUNBE = 10; C#的基本预定义类型内置于.NET Framework结构中(System),object是基类: 整型:System.SByte.System.Int16.System.Int32.System.Int64 有符号的8位.16位.32位.64位分别表示为sbyte.short.int.long

  • C#类中属性与成员变量的使用小结

    属性实际上和成员变量没什么区别,属性代表类的某种特征, 让人更好理解而已. 使用中注意问题:1.属性名和变量名不能相同, 2.一般变量都是private,属性都是public的,属性用于给类外调用,变量限于类内使用,感觉封装性体现得要好些 3.属性必须和一个变量相联系,而这个变量必须要在类中定义.如果不定义,用成如下方法: 复制代码 代码如下: public int b //定义一个属性b  {      get   {    return b;   }   set   {    b = val

  • 浅析Java中局部变量与成员变量同名解决技巧

    要想区分这哥俩,首先,我们得知道它们分别是什么.先从成员变量下刀. 成员变量 我们来研究一个事物: 属性:外在特征:例如人的身高,体重 行为:能够做什么:例如人有说话,打球等行为. 而在Java语言中,最基本的单位是类,类就是用来体现事物的. 用类class来描述事物也是如此: 属性:对应类中的成员变量 行为:对应类中的成员函数 定义类其实就是在定义类中的成员(成员变量和成员函数) 拓展:类是一个抽象的概念,而对象就是类的具体的存在,体现.例如:生活中的汽车,可以看做一个类,我们称之为汽车类,每

  • 深入分析C++派生类中的保护成员继承

    protected 与 public 和 private 一样是用来声明成员的访问权限的.由protected声明的成员称为"受保护的成员",或简称"保护成员".从类的用户角度来看,保护成员等价于私有成员.但有一点与私有成员不同,保护成员可以被派生类的成员函数引用. 如果基类声明了私有成员,那么任何派生类都是不能访问它们的,若希望在派生类中能访问它们,应当把它们声明为保护成员.如果在一个类中声明了保护成员,就意味着该类可能要用作基类,在它的派生类中会访问这些成员.

  • Java中成员方法与成员变量访问权限详解

    记得在一次面试的笔试题中,有的面试官会要求写出具体的像pullic这些访问限定符的作用域.其实,平常我都没去系统的考虑这些访问限定符的作用域,特别是包内包外的情况,OK,笔试不行了. 这是java基本的知识,也是公司看重的,那没办法啦,我的脑袋记不住东西,那我只能把这些东西写下来方便自己温故知新,不废话了,贴代码了. 代码如下: package com.jaovo; /** *_1_ 成员变量访问权限的求证 * public private protected default(默认的权限) *自

  • python类中的self和变量用法及说明

    目录 1.self是什么 以上述代码I为例 2.self的使用场景 在类中,self的使用有下面3个场景 3.python的几种变量——按作用域分 4.self和变量的关系 具体的使用场景 5.一点补充 为实例绑定属性有两种方式 在python的类中会使用到“self”,本文主要是谈谈类中的self和变量的关系. 先看示例代码I. class Test(object): def __init__ (self, val1): self.val0 = val1 def fun1(self): pri

  • Python实现动态添加类的属性或成员函数的解决方法

    某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法.用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块. 本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下: 首先我们可以参考ulipad的实现:mixin. 这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数. 代码如下所示: class WinBAS(Bas): def

  • python隐藏类中属性的3种实现方法

    方法一: 效果图一: 代码一: # 定义一个矩形的类 class Rectangle: # 定义初始化方法 def __init__(self,width,height): self.hidden_width = width self.hidden_height = height # 定义获取width.height的方法 def get_width(self): return self.hidden_width def get_height(self): return self.hidden_

  • runtime获取属性和成员变量方法

    成员变量 1.成员变量的定义 Ivar: 实例变量类型,是一个指向objc_ivar结构体的指针 typedef struct objc_ivar *Ivar; 2.相关函数 // 获取所有成员变量 class_copyIvarList // 获取成员变量名 ivar_getName // 获取成员变量类型编码 ivar_getTypeEncoding // 获取指定名称的成员变量 class_getInstanceVariable // 获取某个对象成员变量的值 object_getIvar

  • java中对象调用成员变量与成员实例方法

    使用对象访问类中的成员: 对象名.成员变量: 对象名.成员方法(); 成员变量的默认值: 具体实例代码: public class StudentTest_01 { public static void main(String[] args) { //创建对象格式,类名 对象名 = new 类名(); //无参数使用方法 Student s2 = new Student(); s2.setName("千寻1"); s2.setAge(25); System.out.println(&q

随机推荐