C#面向对象——对象成员、方法重载、引用类库等

一、方法重载:
1.两个函数同名,就互相构成方法的重载关系
2.重载的函数,必须跟其他函数之间具有不同的参数类型或参数个数

二、字段与属性
类的字段:
类里面是可以直接定义变量的,这些变量就叫类的字段,也叫成员变量。
类的属性(扳手):
本身不存储数据,用来给字段赋值和取值的一个存取过程。可以保护字段。
包含读访问器和写访问器两个函数;

读访问器
get { return Name; }
写访问器
set {
                if(value.Length<=3)
                 Name = value; 
            }

给字段(成员变量)设置属性:
步骤:右击字段——重构——封装字段

四、静态成员:
不能通过类的对象进行操作,只能通过类名点出使用
类作为模板创建对象后,对象无法直接调用静态成员,但可以通过实例方法访问静态成员(注意:不同的对象的实例方法访问的静态成员是同一个静态成员)。

五、类与对象的区别:
类是一个用户自定义数据类型,是一个模板
对象就是一个根据模板造出来的变量
类与对象的关系是一对多的关系,类就一个,根据这个类可以造N个对象

六、类的构造函数
在vs2012中,名字后面跟一个小括号(),就是一个函数。
创建对象时的语法:Class1 aaa=new Class1();
这里其实new调用了一个函数;
Class1()这是一个函数,每个类里面都默认存在一个,称作构造函数;
构造函数是创建对象的时候类的入口。

构造函数特点:跟类名同名,默认无返回值、无参数、无函数体,可以写重载,具备普通函数的所有功能。

作用:创建对象时,赋予成员变量初始值;
可以进行类与类之间的交互。

七、修饰符:
public 公共的,作用范围是整个命名空间(类库),以及引用了此命名空间的其他地方
private 私有的,只能作用于当前类
protected 受保护的,作用于当前类,以及子类

八、命名空间和类库
(一)命名空间:就像是一个文件夹,是为了区分类存储的地方,一个项目对应一个命名空间。

 

 

可以右击解决方案管理器中的解决方案->打开文件夹,查看解决方案中的文件


.sln解决方案,双击打开解决方案
.csproj项目

改动类的命名空间之后,类所在的文件夹发生变化,原先的地方类将不可用,除非加上using+新的命名空间名。

怎样引用新类?
写好类名(不能有错误,区分大小写),鼠标放在类名上,会出现小三角,点击可以添加类所在的命名空间,类就可用了。

引用成功

 

实质上,命名空间并不是文件夹,改变一个类的命名空间并没有新建文件夹,而是一个程序集,存放了各种各样的类,我们称作类库。

引用命名空间,会将类库编译到项目的Debug文件夹(.DLL )中。

怎样新建一个类库(项目),并在另外一个项目中引用它?
1.新建类库:新建项目->类库;
写好类;
然后右击该项目->生成,

 

该类库的文件夹Debug中出现(.dll)文件,


2.在另一个项目中引用类库:右击项目中的引用->添加引用,


在弹出的窗口中,找到类库的Debug文件夹,选择.dll文件;
右击项目->生成,在项目的Debug文件中多生了两个文件,


添加命名空间:using +类库名
就可以调用类了:类库名.类名

调用其它类库的类,其实就是往项目的Debug文件夹中添加上其他类库的dll等文件。

时间: 2025-01-18 12:15:45

C#面向对象——对象成员、方法重载、引用类库等的相关文章

附录A培训实习生-面向对象基础(3):方法重载

就上一篇代码而言,你如果写Cat cat = new Cat();会直接报错错误 : 1       “Cat”方法没有采用“0”个参数的重载 E:\大话设计模式学习\BigDesignPatterns\附录A培训实习生之面向对象基础\动物运动会\AnimalGames\Form1.cs       20     23     AnimalGames 原因就是必要给小猫起名字.如果当真需要不起名字也要生出小猫来,可以采用方法重载. 方法重载提供了创建同名的多个方法的能力,但这些方法需使用不同的参

C#面向对象---对象成员、方法加载、引用类库

一.方法重载: 1.两个函数同名,就互相构成方法的重载关系 2.重载的函数,必须跟其他函数之间具有不同的参数类型或参数个数 二.字段与属性 类的字段: 类里面是可以直接定义变量的,这些变量就叫类的字段,也叫成员变量. 类的属性(扳手): 本身不存储数据,用来给字段赋值和取值的一个存取过程.可以保护字段. 包含读访问器和写访问器两个函数: 读访问器 get { return Name; } 写访问器 set {                 if(value.Length<=3)        

Java ——对象 类 方法重载 构造方法 封装

本节重点思维导图 快捷键 生成代码:alt+shift+s 提取变量:alt+shift+L 快速复制行:alt+ctrl+向上或向下的箭头 删除行:ctrl+d 类:对同一种事物共同属性和行为的抽象 对象:根据类创建出来的具体的实物 方法重载 在同一个类中提供多个同名不同参的方法. 重载要求:方法名称相同,但参数的   [ 类型不同     or   参数的个数不同     or     参数的顺序不同] public class Demo { public void fun1() { } p

java面向对象中的方法重载与方法重写的区别

一.方法重载(overload) a:一个类中允许声明多个方法 b:一个类中允许有多个方法名称一样,但是参数不同的多个方法.通过参数不同来区别不同的方法. 参数不同表现为: 1:参数个数不同 2:参数类型不同 3:参数类型的顺序不同也是参数类型不同 4:在参数类型一样的情况下,名称不一样不代表参数不一样 重载方法的调用: 1:根据调用的时候实际参数来判断到底调用的是哪一方法 2:根据参数的要求,严格匹配传入的对应类型 3:如果严格匹配不到的话,默认遵循就近匹配 4:根据数据默认转换的顺序就近匹配

C#面向对象课程 类与对象,方法重载,类的静态成员,命名空间和类库12月22日

一.类是面向对象课程的基本单元. 在类的里面可以直接定义字段(成员变量),也可以定义方法(函数). 例如: 这里的public是修饰符,修饰符的作用是用来限定它的可访问范围. 两个同范围(同一个类中,或者父子类中)两个同名但参数类型不同或者参数个数不同的方法互相间构成重载关系. 两个构成重载关系的方法(函数)必须满足以下条件: (1)方法(函数)名相同: (2)参数类型不同,或参数个数不同.这里需要注意的是,函数返回值类型的不同不是函数重载的判断条件. 二.静态成员 属性.方法和字段等成员是对象

JAVA面向对象 对象/引用

本页面更新日期: 2016年07月17日 对象/引用 在前面 PersonTest.java 代码中, 有这样一行代码: Person p = new Person(); 这行代码创建了一个 Person 实例, 也被称为 Person对象,这个Person对象被赋给 p 变量. 这行代码实际产生了两个东西: 一个是 p 变量, 一个是 Person 对象. 从 Person 类定义来看, Person 对象应包含两个实例变量, 而变量时需要内存来存储的. 因此, 当创建 Person 对象时,

java基础疑难点总结之成员变量的继承,方法重载与重写的区别,多态与动态绑定

1.成员变量的继承 1.1要点 子类用extends关键字继承父类.子类中可以提供新的方法覆盖父类中的方法.子类中的方法不能直接访问父类中的私有域,子类可以用super关键字调用父类中的方法.在子类中可以增加域,增加方法或者覆盖超类的方法,然而绝对不能删除继承的任何域和方法. 在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类的对象.所以所谓的继承使子类拥有父类所有的属性和方法其实可以这样理解,子类对象确实拥有父类对象中所有的属性

02-14 面向对象--方法重载、隐藏

在面向对象思想中,由于基本特性--继承所致,产生了子类继承父类的关系,所以出现重载方法. 由于子类对象同事“汇聚了”父类和子类的方法所有公共方法,而C#并未对子类和父类的方法名称过多的 加以限制,因此会出现一些问题. 如果子类中的某个方法与父类方法的签名一致(即方法名和方法参数一样),那当通过子类对象访问此方法时,访问的是子类方法还是父类方法? 这就需要先从子类方法和父类方法之间的关系说起,总的来说,子类方法和父类方法之间的关系可以概括为一下三种. 扩充:子类方法,父类没有: 重载:子类有父类的

Java 方法重载与引用数组类型

1.方法重载 1)方法的签名 方法的签名包含方法名和参数列表 一个类中,不可以有两个方法的签名完全相同,即一个类中不能有两个方法的方法名和参数列表都一样. public class Test{ public void print(int x){...}; public void print(int x){...}; //编译错误,方法签名不能一样 } public class Test{ public void print(int x){...}; public boolean print(in