属性

public 类字段 就相当于c#里面暴露给外面的属性 类似nodejs的 module.exports
但是属性又不同于普通的字段,属性只是外部包装字段 没有自己的任何含量 类似退换后的方法。 还是需要内部字段来设置。
private 类字段 就相当于类内部使用的字段。其实可以把属性看做私有变量的访问器
 
1、属性的作用:保护字段,对字段取值与赋值进行限定
2、属性的使用:
_name(属性名)
public [对应字段类型] 属性名Name
{
get{return _name;}
set{_name=value;}
}

  

3、字段和属性的命名格式:
字段的命名方式一般采用:_cameCase
字段的命名方式一般采用:PascalCase
 
4、有了属性以后,往往通过属性去访问字段。属性通常声明为public,字段通常声明为private。在外部访问类中的字段,都是通过属性来实现。get可对取值进行界定,set可对赋值进行界定,通常我们将get和set称为访问器。
 
5、属性分为4种,
1)既读又写:同时包含get和set
2)只读:只包含get
3)只写:只包含set
4)自动属性
 
例子:
class gwyy {
private string _name; //字段 私有
public string Name
{
get { return _name + 'a'; }
set { _name = value; }
} 属性,公有 但是还是需要依赖于实体字段
}

  

 
 
方法:
“方法”是包含一系列语句的代码块。在 C# 中,每个执行指令都是在方法的上下文中完成的。
方法在类或结构中声明,声明时,声明时需要指定访问级别、返回值、方法名称以及任何方法参数。方法参数放在括号中,并用逗号隔开。空括号表示方法不需要参数。下面的类包含三个方法:
class Motorcycle { public void StartEngine() { } public void AddGas(int gallons) { } public int Drive(int miles, int speed) { return 0; } }
 
静态方法
静态方法不对特定的类实例化,调用时候,需要指定类名调用
非静态方法
略。。。
 
方法重载
方法名相同,但参数的 数据类型、 个数、顺序不同
 
 
可变参数
可以在方法参数栏加params属性 接受一个一维数组的可变参数
public void test1(params string[] list) {
for (int i = 0; i < list.Length; i++)
{
Console.WriteLine(list[i]);
}

  

}

 
 
ref 按引用传递
调用方法时,在方法中对参数所做的任何更改都反应在该变量中。
使用ref参数 必须方法声明 和调用方都必须显示的使用 ref关键字
int i = 3;
Console.WriteLine(i);
g.test2(ref i);
Console.WriteLine(i);
public void test2(ref int i) {
i = 55;
}

  

 
out定义输出参数
参数通过引用来传递。ref要求变量必须在传递前初始化。而out参数不用初始化。
必须声明和调用方都显示使用 out
int value;
g.test3(out value);
public void test3(out int i) {
i = 66;
}

  

 
 
 
 

c# 类属性和方法的更多相关文章

  1. python 类属性与方法

    Python 类属性与方法 标签(空格分隔): Python Python的访问限制 Python支持面向对象,其对属性的权限控制通过属性名来实现,如果一个属性有双下划线开头(__),该属性就无法被外 ...

  2. python装饰器、继承、元类、mixin,四种給类动态添加类属性和方法的方式(一)

    介绍装饰器.继承.元类.mixin,四种給类动态添加类属性和方法的方式 有时候需要給类添加额外的东西,有些东西很频繁,每个类都需要,如果不想反复的复制粘贴到每个类,可以动态添加. # coding=u ...

  3. python从入门到大神---1、初始化实例、类属性、方法

    python从入门到大神---1.初始化实例.类属性.方法 一.总结 一句话总结: 方法不加括号是代码段:感觉python方法和js,php很类似,不加括号是代码段,加括号变成方法,比如f,f() 1 ...

  4. python干货-类属性和方法,类的方法重写

    类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...

  5. GDI+ —— Tcanvas 类属性及方法.......

    delphi TCanvas类 类关系   TObject-> TPersistent   对那些作图对象,可使用TCanvas对象作为画布.标准的window控件,例如编辑控件和列表框控件,当 ...

  6. python类的使用(类定义,构造器,类属性,方法)

    注:这里只描述使用方法,具体类的概念长篇大论就不要为难我这个懒人了. 总之一句话编程语言只是一个工具,会用就行,好用就行.打破砂锅问到底,我觉得有必要研究一下C,汇编,电子链路等. class clt ...

  7. TCanvas 类属性及方法

    delphi TCanvas类 类关系   TObject-> TPersistent   对那些作图对象,可使用TCanvas对象作为画布.标准的window控件,例如编辑控件和列表框控件,当 ...

  8. Python全栈开发之7、面向对象编程进阶-类属性和方法、异常处理和反射

    一.类的属性 1.@property属性 作用就是通过@property把一个方法变成一个静态属性 class Room: def __init__(self,name,length,width,he ...

  9. Python 进阶_OOP 面向对象编程_类属性和方法

    目录 目录 类属性 调用类属性 查看类属性 特殊的类属性 类方法 真构造器 __new__ 类属性 在理解类属性之前要先搞清楚 实例属性 和 函数属性 之间的区别: 1. 实例属性:指的是实例化类对象 ...

  10. Python 类属性和方法

    import types class Dog(object): __slots__ = ("name", "color", "info") ...

随机推荐

  1. AbstractQueuedSynchronizer的简单分析

    说明:本作者是文章的原创作者,转载请注明出处:本文地址:http://www.cnblogs.com/qm-article/p/7955781.html 一.AbstractQueuedSynchro ...

  2. [国嵌笔记][029][ARM处理器启动流程分析v2]

    2440启动流程 启动方式:nor flash启动.nand flash启动 地址布局: 选择nor flash启动时,SROM(nor flash)地址为0x00000000 选择nand flas ...

  3. Flume介绍

    Flume介绍 http://flume.apache.org/FlumeUserGuide.html 一.Flume架构图 含义 Source 规定收集数据的来源 Channel 相当于一个管道,连 ...

  4. Solr学习笔记2(V7.2)---导入自己的数据

    学而不思则罔,思而不学则殆,总是看文档不动手效果是不好的.没有实地的从自己的数据库获取数据测试一下始终是空,总结一下自己的操作步骤吧. 第一步准备配置文件 E:\Solr\server\solr\co ...

  5. Vuethink正确安装过程

    1.      下载项目vuethink,本例将项目放置website文件下. 2.      后台搭建 本地建站–>以phpstudy为例 1)      新建站点域名 <Virtual ...

  6. 关于IDE与环境变量的一点说明

    环境变量就是当计算机要执行操作时,在环境变量所制定的范围内查找该操作. 比如linux的ls命令,计算机就需要在$PATH规定的目录中寻找该ls的可执行文件. java的classpath,在该规定的 ...

  7. 数据结构与算法(c++)——反转链表

    算法概述:要求实现将一条单向链表反转并考虑时间复杂度. 算法分析: 数组法(略): 将列表元素逐个保存进数组,之后再逆向重建列表 点评:实现逻辑最简单,需要额外的内存开销. 移动指针: 通过三个指针逐 ...

  8. zabbix入门知识

    zabbix入门知识 zabbix中文手册 https://www.zabbix.com/documentation/3.4/manual/ 1.zabbix介绍 Zabbix 是一个企业级的分布式开 ...

  9. NV12格式转RGB的CUDA实现

    NV12格式是yuv420格式的一种,NV12格式的u,v排布顺序为交错排布,假如一幅图像尺寸为W*H,则先Y分量有W*H个,然后U分量和V分量交错排布,U分量和V分量各有W*H/4个,U,V加起来总 ...

  10. Django权限机制的实现

    Django权限机制的实现 1. Django权限机制概述 权限机制能够约束用户行为,控制页面的显示内容,也能使API更加安全和灵活:用好权限机制,能让系统更加强大和健壮.因此,基于Django的开发 ...