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 //普通代码块 ...
随机推荐
- POJ 3970:Party
Party Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit Status ...
- Arduino学习——u8glib提供的字体样式
Fonts, Capital A Height4 Pixel Height U8glib Font FontStruct5 Pixel Height 04 Font 04 Font 04 Font ...
- SpringCloud学习之Config分布式配置中心(八)
统一配置中心概述 如果微服务架构中没有使用统一配置中心时,所存在的问题: 配置文件分散在各个项目里,不方便维护 配置内容安全与权限,实际开发中,开发人员是不知道线上环境的配置的 更新配置后,项目需要重 ...
- 2020牛客寒假算法基础集训营3 B 牛牛的DRB迷宫II
题目描述 牛牛有一个n*m的迷宫,对于迷宫中的每个格子都为'R','D','B'三种类型之一,'R'表示处于当前的格子时只能往右边走'D'表示处于当前的格子时只能往下边走,而'B'表示向右向下均可以走 ...
- winform集成cefSharp,与页面进行交互
/// <summary> /// 为了使网页能够与winForm交互 将 com 的可访问性设置为 true /// </summary> [System.Runtime.I ...
- UVALive 3704 细胞自动机 矩阵快速幂
是时候要做做数学类的题目了 这属于比较简单的矩阵快速幂了,因为有个已知的矩阵循环的结论,所以为了节约时空,只需要保留一行即可,这个稍微有点难写,也不是难写,主要是注意细节.其他的矩阵快速幂一下即可 # ...
- VMware DRS部分知识点
主机添加到集群中,不需要维护模式(有虚拟机开机状态时也可以添加进去). 主机从集群中移除,需要主机进入维护模式. HA和DRS 全自动 当设置虚拟机必须在主机上时 DRS优先级大于HA 就算主机挂了H ...
- vue 动画原理 part1
Vue动画原理 增加和删除css增加样式实现一个过渡效果也就是动画效果 1.需要动画效果的标签外包裹一个transition标签 会被自动分析css样式,然后自动构建一个动画流程 transition ...
- ArrayList集合存储VO封装对象后调用的问题
VO代码: public class VO4Blog { private int b_id; private int b_typeid; private String b_title; private ...
- target到底是什么?
xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验. 本文主要详细讲解下,如果在一个项目中维护和生成多个 ...