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等文件。
C#面向对象---对象成员、方法加载、引用类库的更多相关文章
- 速战速决 (5) - PHP: 动态地创建属性和方法, 对象的复制, 对象的比较, 加载指定的文件, 自动加载类文件, 命名空间
[源码下载] 速战速决 (5) - PHP: 动态地创建属性和方法, 对象的复制, 对象的比较, 加载指定的文件, 自动加载类文件, 命名空间 作者:webabcd 介绍速战速决 之 PHP 动态地创 ...
- 使用AddLayer方法加载shp文件中使用的Map、Dataset等对象详解
内容源自:ArcGIS Engine+C#入门经典 方法二:使用axMapControl1对象的AddLayer方法加载ShapeFile文件 添加ShapeFile文件需要用到Map.Dataset ...
- 使用ajax()方法加载服务器数据
使用ajax()方法加载服务器数据 使用ajax()方法是最底层.功能最强大的请求服务器数据的方法,它不仅可以获取服务器返回的数据,还能向服务器发送请求并传递数值,它的调用格式如下: jQuery.a ...
- 使用Application.GetResourceStream方法加载资源时得到的总是null
我们可以预先把程序中用到的资源,如图片,音乐等放入项目中,打包进XAP文档,需要的时候从中调用.下面就说说具体实现方法. 第一步,把数据存进项目. 1.右键点击项目名称-添加-新建文件夹(英文版请自行 ...
- MFC使用LoadBitmap方法加载位图文件失败解决方案(转)
用如下方法在原项目中使用LoadBitmap方法加载已有的位图资源作为背景没有问题,但放在别的项目中总是加载不出来,该函数返回NULL HBITMAP hBitmap=LoadBitmap((HINS ...
- phpcms 加载微信类库,生成签名
在phpcms 中 pc_base:load_config(文件名) 用于加载配置文件,配置文件存放于phpcms目录下的caches/configs中 在控制器新增加载微信类库的方法: /** * ...
- SDWebImage使用——一个可管理远程图片加载的类库
SDWebImage使用——一个可管理远程图片加载的类库 SDWebImage使用——一个可管理远程图片加载的类库 SDWebImage托管在github上.https://github.co ...
- 动态加载(异步加载)jquery/MUI类库 页面加载完成后加载js类库
动态加载Mui类库: // ==UserScript== // @name // @version 1.4.0 // @author zzdhidden@gmail.com // @namespace ...
- Java类中的各种成员的加载顺序
//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...
随机推荐
- mariabd mysql升级mariadb
还有错误 [root@localhost /]# mysqldump --all-databases --user=root --password --master-data > backupd ...
- 2.3 使用Android Studio 简单设计UI界面
首先 创建一个新的项目找到app 文件目录下的layout的 activity_main.xml 因为Android Studio 是可视化的,所有操作都可以在图形界面进行. 该res 界面当中 d ...
- linux 替换jdk指定jar包
我的bug是:jdk1.8的安全策略和腾讯邮箱服务有冲突.我知道的解决方法: 1更换低版本安全策略相关的jar包.(windows:http://www.cnblogs.com/dennyzhangd ...
- plt画log图
import matplotlib.pyplot as plt import math import numpy as np x = np.arange(-0.85,0.95,0.05) #获得函数结 ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习: DOM - 改变 HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- STM32F407读编码器没上拉电阻遇见的问题
在调试之前由于本科阶段参加飞思卡尔智能汽车的竞赛,一直在使用与竞赛相关的单片机和编码器,后来由于工程的需要开始使用STM32的板子,在调试编码器的时候遇见了,使用了STM32的官方标准库中的定时器正交 ...
- c# 之循环 ,while 和do---while还有for
㈠while循环 循环条件 是个bool值,为true时执行循环,为false退出循环.break一般不单独的使用,而是跟着if判断一起使用,表示,当满足某些条件的时候,就退出循环了. 循环体 一般总 ...
- PAT Basic 1132 数列的⽚段和(20) [数学问题-简单数学]
题目 给定⼀个正数数列,我们可以从中截取任意的连续的⼏个数,称为⽚段.例如,给定数列{0.1, 0.2, 0.3,0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0 ...
- springCloud eureka服务治理集群增加安全认证
做为SpringCloud Netflix服务套件中的一部分,springCloud eureka基于Netflix Eureka做了二次封装,默认提供WEB管理页面及服务治理. 为了确保在生产环境中 ...
- node 第三方库总结
app.post("/todo/add", (request, response) => { request.body //如何拿到前端ajax传来的JSON数据 }) 需要 ...