构造函数

example1:

static void Main(string [] args)
{
SE engineer=new SE();
engineer.Age=25;
enginner.Name="艾边成";
//省略其他属性赋值操作
Console.WriteLine(engineer.SayHi()); }

我们知道要使用类的属性和方法,首先要对类进行实例化,在实例1中通过SE engineer=new SE();创建SE对象,这种创建类实例的方法称为构造函数、

示例1中调用构造函数创建SE对象并为其属性一一赋值如果不赋值系统将给类的各个字段赋默认值。

从示例1中可以看出,类的构造函数是类中的一种特殊方法,它具有一下特征

  1. 方法名与类名相同
  2. 没有返回值类型
  3. 主要完成对象的初始化工作。

here:

我们在做开发时,一般不再构造函数中作对类的实例初始化以外的事情,不要尝试显示的调用构造函数

无参构造函数

语法:

//访问修饰符    类名()
{
//方法体
}

带参构造函数

语法:

//访问修饰符    类名(参数列表)
{
//方法体
}

隐式构造函数

当我们没有在类中显示的定义一个类的构造函数时,系统会自动给我们隐式的定义一个没有方法体的无参构造,这就是隐式构造函数,值得注意的是当我们显示的定义类的构造时系统就不会在为我们定义该类的隐式构造函数了

方法重载

构造函数的重载

example:

Public Class SE
{
string id;
string name;
//带参构造
public SE(string id,string name)
{
this.id=id;
this.name=name;
}
//无参构造
public SE()
{ }
//省略SE类的其它代码
}

从这段代码程序可以明显的看出,在SE类有两个方法名相同但参数个数不同的构造函数,这种方式就是方法重载。

从以上示例我们可以总结出方法重载的特点

  1. 方法名相同
  2. 方法参数类型不同或参数个数不同
  3. 在同一个类中

需要注意的是方法名一参数类表相同的方法,近视返回值类型不同,不能称为方法重载、

方法重载示例

example:

Public static void Main(string [] args)
{
Console.WriteLine(8);
Console.WriteLine("Hello");
}

在example中我们可以看出第一个WriteLine方法接受一个int类型参数,第二个WriteLine方法接受一个string类型参数。WriteLine()提供了多种重载方法,满足各种需求、

深入C#类的方法的更多相关文章

  1. Android随笔之——Android时间、日期相关类和方法

    今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和Simp ...

  2. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

  3. C#动态创建和动态使用程序集、类、方法、字段等

    C#动态创建和动态使用程序集.类.方法.字段等 分类:技术交流 (3204)  (3)   首先需要知道动态创建这些类型是使用的一些什么技术呢?其实只要相关动态加载程序集呀,类呀,都是使用反射,那么动 ...

  4. python学习道路(day8note)(抽象类,类的方法,异常处理,socket编程)

    1.#面向对象 #抽象接口 === 抽象类 #就是架构师给你一个架子,你们去写,如果满足不了直接报错 #python2 print("python2---抽象类".center(2 ...

  5. 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  6. RBAC类的方法

    rbac类的 方法 authenticate($map,$model='')方法 传入查询用户的条件和用户表的MODEL 返回数组包含用户的信息 saveAccessList($authId=null ...

  7. java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊

    java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...

  8. C#可扩展编程之MEF学习笔记(三):导出类的方法和属性

    前面说完了导入和导出的几种方法,如果大家细心的话会注意到前面我们导出的都是类,那么方法和属性能不能导出呢???答案是肯定的,下面就来说下MEF是如何导出方法和属性的. 还是前面的代码,第二篇中已经提供 ...

  9. 深入.net(类及方法)

    .net 的命名规则: 帕斯卡命名法 ----- 多个单词说明,且直接连接,并首字母大写(类名.方法名.属性名....) 骆驼命名法---------多个单词说明,且直接连接,并首字母大写,第一个字母 ...

  10. PHP加载另一个文件类的方法

    加载另一个文件类的方法 当前文件下有a.php 和b.php,想要在class b中引入class a <?php    class a    {        public $name = ' ...

随机推荐

  1. 使用VMware搭建3台一模一样的Linux虚拟机

    转自:https://www.linuxidc.com/Linux/2014-08/105909.htm 简介:VMware可以在个人本地一台笔记本机器上同时运行二个或更多Windows.DOS.LI ...

  2. 清北集训Day3T1(转换)

    这题可能是我与正解里的最近的一次了,可以还是sb的把正解叉了. 正解其实比较显然:因为$f(x)$只有81个取值,所以我们可以枚举$f(x)$,然后计算$x$,再判断$x$是否可以转化为$f(x)$ ...

  3. 动态数组C++实现

    回顾大二的数据结构知识.从数组开始.实现了一个可自动扩充容量的泛型数组. 头文件:Array.h #ifndef Array_hpp #define Array_hpp template <cl ...

  4. 路飞学城Python-Day43

    前端                                                                                                  ...

  5. echart纵坐标标签特别长换行显示

    纵坐标 yAxis : [ { type : 'category', data : name, axisLabel: { //坐标轴刻度标签的相关设置. textStyle: { color: '#0 ...

  6. Ajax得到JSON数据

    Ajax得到JSON数据

  7. springboot项目封装为docker镜像

    1.本次镜像的基础镜像是:https://www.cnblogs.com/JoeyWong/p/9173265.html 2.将打包好的项目文件放在与Dockerfile同级的目录下 3.Docker ...

  8. SpringBoot中使用过滤器Filter

    场景:API的参数都是经过加密的,于是在过滤器中,将获取到的请求的参数先解密再去进行处理 一.实现Filter接口 public class TestFilter implements Filter ...

  9. ASP.NET-SOAP、UDDI知识点

    1. 什么是SOAP? 答:是简单访问协议.是在分布式环境中,交换信息并实现远程调用的协议.是一个基于XML的协议.使用SOAP,可以不考虑任何传输协议,但通常还是HTTP协议,可以允许任何类型的对象 ...

  10. 洛谷 P1518 两只塔姆沃斯牛 The Tamworth Two

    P1518 两只塔姆沃斯牛 The Tamworth Two 题目背景 题目描述 两只牛逃跑到了森林里.农夫John开始用他的专家技术追捕这两头牛.你的任务是模拟他们的行为(牛和John). 追击在1 ...