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 //普通代码块 ...
随机推荐
- 学生信息的添加 Java web简单项目初试(修改)
错误原因: 1.Java web 的Servlet类没有配置好,并且缺少一个 Dao类(Date Access Object通常用于操作数据库的). 2.代码的某些名称错误,导致数据库数据存储错误. ...
- 超级详细通信协议解析webservice和dubbo通信协议区别
简单说下接触webservice的背景吧,因为之前的接口对接更多的是成熟的接口品牌像是阿里巴巴.腾讯.聚合数据等,他们接口规范一般都是基于restful进行接口对接.什么是restful接口,可以通过 ...
- 树上问题&图论模板整理
去除过水的模板,包括但不限于dijkstra(甚至堆优化都被过滤了).SPFA.kruskal.拓扑排序等. 欧拉回路:http://uoj.ac/problem/117 #include<bi ...
- iOS 通过有alpha值的图片创建蒙版
@interface ViewController () @property (nonatomic, weak) IBOutlet UIImageView *imageView; @end @impl ...
- Java if、switch语句,break,case,类型转换、常量、赋值比较、标识符(2)
if语句: /* if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2: 三元运算符: 好处:可以简化if else代码. 弊端:因为是一个运算符,所以运算完必须要有一个结果 ...
- 《Docekr入门学习篇》——Docker简介
Docker简介 什么是docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在GitHub上,基于Go语言并遵从Apache2. ...
- 操作实践,git本地分支执行rebase,让主干分支记录更简洁
声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 我们平时在写代码的时候,难免会修修改改,如果团队中每个人的代码提交记录都包含着一堆中间过程,是很不利于团队 ...
- texshop 使用技巧
mac osX上使用latex 的技巧 指定编译器, 通过宏定义, 也就是在文件开头, 加上类似命令 % !TEX TS-program = pdflatex 多个文件设定主文件, 通过宏定义, 加上 ...
- c++语法(2)
#include<iostream> #include<windows.h> using namespace std; class Parents { public: virt ...
- 数据库my.ini配置
数据库my.ini配置 通过配置文件统一配置的目的:统一管理 服务端(mysqld) .客户端(client) 配置了 mysqld(服务端) 的编码为utf8,那么再创建的数据库,默认编码都采用 1 ...