c# 类属性和方法

属性

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;
}

  

时间: 2024-10-16 07:05:35

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

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

类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来定义一个方法,类方法必须包含参数 self,且为第一个参数.self的名称也可自己取,如使用this,但是建议还是用self为好. 类的私有方法 __private_method: 两个下划线开头,为私有方法,只能在类的内部调用 ,不能在类的外部调用.self.__private_methods.

Python 面向对象编程基础——初始化实例、类属性、方法

#1.初始化实例化属性.#可接受任意关键字参数,并把他们都作为属性赋值给实例.使用**kw,除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过setattr(self, 'name', 'xxx')设置属性.class Person(object):    def __init__(self, name, gender, **kw):        self.name = name        self.gender = gender        for k,v i

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

注:这里只描述使用方法,具体类的概念长篇大论就不要为难我这个懒人了. 总之一句话编程语言只是一个工具,会用就行,好用就行.打破砂锅问到底,我觉得有必要研究一下C,汇编,电子链路等. 1 class cltdy: #定义类,并起一个名字 2 n = 1000 #类属性,类内的变量 3 def __init__(self,name,age,profession='IT民工'): #构造函数,类接收外部传入参数全靠构造函数 4 self.name = name 5 self.age = age 6 s

php 定义类属性和方法的public protected private 修饰词的区别

这三个词在定义类的属性和方法时使用,其最大的区别在与他们作用域不同 public :全局使用,不仅是本类,其子类,创建的对象都可以使用,甚至子类的子类由于继承关系,也可以使用. protected:本类和其子类使用,如果后续有继承的话, private : 仅限本类使用 class ClassA { public $a = 1; protected $b = 2; private $c = 3; public function share() { echo 'a='.$this->a."\

php 类 属性和方法的关系

一 . 属性关系 1 .  public属性:在类的外部和内部都可以调用  被继承能够重构 2 .  protected属性:在类的内部可以调用外部不能可以被继承并且重构 3 .  private属性:只有在类的内部调用 不能被继承 4 .  static属性:类的内部和外部都能调用  内部调用方法(self::属性变量) 外部调用方法(类名::属性变量) 二 . 方法关系 1 . public方法:在类的外部和内部都可以调用 可以被继承 2 . protected方法:在类的内部可以调用外部不

PHP DOMDocument操作 XML类 属性、方法

属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definition 以DTD或XML模式给出的节点的定义(只读) Doctype 指定文档类型节点(只读) documentElement 返回文档的根元素(可读写) firstChild 返回当前节点的第一个子节点(只读) Implementation 返回XMLDOMImplementation对象 lastChild 返回当前节点最后一个子

Objective-C 类属性和方法的访问权限

OC中提供了4种访问权限,@private, @public, @protected这三种和其他的C++, Java是一样的,@package这个访问权限并不是Java里的包访问权限,OC中没有包的概念,这个是框架级的访问权限,在当前的framework的类中视为@protected,在框架以外的类中访问被视为@private. // // Goods.h // 05_Self // // Created by apple on 14-11-10. // Copyright (c) 2014年

转载:js 创建对象、属性、方法

1,自定义对象. 根据JS的对象扩展机制,用户可以自定义JS对象,这与Java语言有类似的地方. 与自定义对象相对应的是JS标准对象,例如Date.Array.Math等等. 2,原型(prototype) 在JS中,这是一种创建对象属性和方法的方式,通过prototype可以为对象添加新的属性和方法. 通过prototype我们可以为JS标准对象添加新的属性和方法,例如对于String对象,我们可以为其添加一个新的方法trim(). 与严格的编程语言(例如Java)不同,我们可以在运行期间为J

static 关键字 静态属性与方法 -&gt; :: self $this 区别

1.声明类属性或方法为静态,就可以不实例化类而直接访问.静态属性不能通过一个类已实例化的对象来访问(但静态方法可以). 2.由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用. 3.静态属性不可以由对象通过 -> 操作符来访问. 4.用静态方式调用一个非静态方法会导致一个 E_STRICT 级别的错误. 5.就像其它所有的 PHP 静态变量一样,静态属性只能被初始化为文字或常量,不能使用表达式.所以可以把静态属性初始化为整数或数组,但不能初始化为另一个变量或函数返回值