- 浏览: 1764565 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (520)
- Oracle (10)
- Oracle错误集 (8)
- Oracle安装升级 (15)
- Oracle日常管理 (51)
- Oracle字符集 (7)
- Oracle备份恢复 (24)
- Oracle优化 (4)
- Oracle编程 (52)
- Oracle导入导出 (19)
- Oracle体系结构 (15)
- Oracle网络 (2)
- Oracle安全 (2)
- Oracle权限 (3)
- Oracle数据字典和性能视图 (2)
- Oracle常用地址 (5)
- SQLPLUS专栏 (7)
- SqlServer (13)
- SqlServer2005编程 (27)
- SqlServer2005管理 (15)
- MySQL (20)
- Dorado应用 (1)
- C# (24)
- Arcgis Server开发 (20)
- ArcSDE技术 (19)
- UML学习 (2)
- 设计模式 (2)
- JAVA EE (4)
- JavaScript (3)
- OFBIZ (27)
- JAVA WEB开发 (22)
- Linux&Unix (34)
- SHELL编程 (14)
- C语言 (11)
- 网络协议 (14)
- FREEMARKER (2)
- GROOVY (2)
- JAVA语言 (3)
- 防火墙 (0)
- PHP (2)
- Apache (2)
- Loader Runner (1)
- Nginx (3)
- 数据库理论 (2)
- maven (1)
最新评论
-
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
pg_guo:
感谢
oracle中查看用户权限 -
xu234234:
5、MapResourceManager控件中添加了两个服务, ...
北京ArcGis Server应用基础培训笔记1
一、C#构造函数?Construct,Function
构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.
构造函数具有一些特殊的性质:
(1)构造函数的名字必须与类同名;
(2)构造函数没有返回类型,它可以带参数,也可以不带参数;
(3)声明类对象时,系统自动调用构造函数,构造函数不能被显式调用;
(4)构造函数可以重载,从而提供初始化类对象的不同方法;
(5)若在声明时未定义构造函数,系统会自动生成默认的构造函数,此时构造函数的函数体为空.
(6)静态构造函数,用static修饰,用于初始化静态变量,一个类只允许有一个构造函数,在类实例化时加载,这时修饰符public、private失去作用.
(7)可以使用public、protected、private修饰符。.
(8)引用父类构造时用():base()方法,引用自身重载的构造使用():this(int para).
(7)可以使用public、protected、private修饰符。
注意:
1、定义了一个带参构造函数后,最好定义一个无参构造函数,这样可以避免子类调用时出错
2、调用基类构造函数:base() 或 :base(参数列表) 调用本类其它构造函数 :this() 或 :this(参数列表)
3、只有在用base显示调用父类的构造函数时,程序才不会默认的调用不带参数的构造函数。
二、C#构造函数的结构层次关系或者说执行顺序是怎样的?Layer,Transfer,Execute
从基类开始构造对象。
public class MyBaseClass
{
public MyBaseClass()
{
Console.WriteLine("In MyBaseClass()");
}
public MyBaseClass(int i)
{
Console.WriteLine("In MyBaseClass(int i)");
}
}
public class MyDerivedClass : MyBaseClass
{
public MyDerivedClass()
{
Console.WriteLine("In MyDerivedClass()");
}
public MyDerivedClass(int i)
{
Console.WriteLine("In MyDerivedClass(int i)");
}
//public MyDerivedClass(int i, int j)
//{
// Console.WriteLine("In MyDerivedClass(int i,int j)");
//}
public MyDerivedClass(int i, int j)
: base(i)
{
Console.WriteLine("In MyDerivedClass(int i,int j):base(i)");
}
}
class Program
{
static void Main(string[] args)
{
//Event1
MyDerivedClass myObj1 = new MyDerivedClass();
Console.WriteLine();
//Event2
MyDerivedClass myObj2 = new MyDerivedClass(4);
Console.WriteLine();
//Event3
MyDerivedClass myObj3 = new MyDerivedClass(4,8);
Console.WriteLine();
Console.ReadKey();
}
}
程序输出:
In MyBaseClass()
In MyDerivedClass()
In MyBaseClass()
In MyDerivedClass(int i)
In MyBaseClass(int i)
In MyDerivedClass(int i,int j):base(i)
很明显,只有在用base显示调用父类的构造函数时,程序才不会默认的调用不带参数的构造函数。
发表评论
-
C#正则表达式小结
2008-09-16 15:27 1626地址: http://www.cnblogs.com/m ... -
C#调用ORACLE存储过程返回结果集及函数
2008-07-22 17:49 3057ORACLE段: 首先在ORACLE建立PACKAGE和PA ... -
生成实体类的codesmith模版
2008-07-15 16:35 3186<%@ CodeTemplate Language=&q ... -
数据库开发个人总结(ADO.NET小结)(转)
2008-06-16 11:41 2003一.用SqlConnection连接SQL Server 1. ... -
ADO.NET—读书笔记系列
2008-06-16 11:37 2000ADO.NET概述 一、。NET数据提供程序 ... -
ADO.NET—DataHelper(转)
2008-06-16 11:24 3312using System; using System.Data ... -
ADO.NET—Asp.net 用DataSet对象更新数据(SqlDataAdapter)
2008-06-16 10:42 3568大家知道,DataSet保存的 ... -
一个简单的在程序中构造DataTable
2008-06-16 09:50 2442DataTable dt = new Data ... -
C# 中的委托和事件
2008-06-11 14:53 1125http://www.cnblogs.com/jimmyzha ... -
c#接口和抽象类的区别
2008-06-11 13:58 2611大家都容易把这两者搞 ... -
C#学习之接口
2008-05-26 16:17 1588什么是接口?其实,接 ... -
谈谈C#中的接口
2008-05-26 15:48 1305http://www.cnblogs.com/sifang20 ... -
关于构造函数及参数执行顺序说明(c#)
2008-05-26 15:08 3678以前自己对这方面的内容一直比较模糊,只是知道一个大概的顺序,具 ... -
C#继承小结
2008-05-26 14:48 16811、实例化父类时,可以使用new子类,执行构造函数顺序为:先执 ... -
C#修饰符
2008-05-26 14:30 2005符用于限定类型以及类型成员的申明,c#中有13种修饰符,按功能 ... -
C#命名规范
2008-05-26 13:49 2110注记 : Pascal 大小写形式 ... -
C#中处理xml文档
2008-05-26 11:53 1981C#下处理xml是通过XML.NET API类来实现的. XM ... -
在C#使用XML注释
2008-05-26 11:36 2676简介 大多数程序员可能都听说过Java自带的一个工具JavaD ... -
Visual C# 编译器 CSC.EXE 参数详解
2008-05-26 11:29 4721Visual C#是微软公司推出的新一代程序开发语言,Visu ... -
C# 语句-循环语句
2008-05-26 11:08 3278本文将介绍如何使用C#控制语句中的循环语句,本文目的如下: 1 ...
相关推荐
### C#构造函数的调用过程 在C#编程语言中,构造函数是一种特殊类型的方法,主要用于初始化对象的状态。构造函数的名字与类名相同,并且没有返回类型。当创建一个新对象时,构造函数会自动被调用。本文将通过一个...
### C#构造函数的理解 #### 一、构造函数的基本概念 构造函数是一种特殊的方法,用于初始化新创建的对象。在C#中,构造函数的名字与类名相同,这有助于明确指出其用途。当创建一个类的新实例时,系统会自动调用...
c# 构造函数 内存分析 图解,帮助你进一步理解构造函数。
标题“C#构造函数平均值方法”和描述中的内容涉及到C#编程语言中的基础概念,包括类的构造函数和方法的使用。下面详细介绍这些知识点: 首先,构造函数是类的一种特殊方法,它在创建类的新实例时自动调用。构造函数...
c#构造函数与析构函数.doc
C#构造函数,电子书!!!!!!!!!!!!!!!
C#中的析构构造函数(Destructor)是一种特殊的方法,它在对象即将被垃圾回收器清除时执行,用于释放非托管资源。在C#中,析构函数以`~`符号开头,后面跟着类名,例如`~MyClass()`. 它们不同于常规的构造函数,构造...
C#构造函数调用顺序[归纳].pdf
在C#编程语言中,构造函数是至关重要的组成部分,它们用于初始化类的实例。构造函数与类名相同,且在创建对象时自动调用。本章主要探讨了两种类型的构造函数:实例构造函数和静态构造函数。 1. 实例构造函数: - ...
在C#编程语言中,构造函数和析构函数是两个非常关键的概念,它们在对象生命周期管理中起到至关重要的作用。让我们深入探讨一下这两个概念及其在实际编程中的应用。 首先,构造函数是C#中用于初始化新创建对象的方法...
构造函数与析构函数是一个类中看似较为简单的两类函数,但在实际运用过程中总会出现一些意想不到的运行错误。本文将较系统的介绍构造函数与析构函数的原理及在C#中的运用,以及在使用过程中需要注意的若干事项。
在C#编程语言中,构造函数和属性是两个核心概念,它们在定义和管理类的实例时发挥着至关重要的作用。下面将详细解释这两个概念及其使用方法。 **构造函数** 构造函数是类的一个特殊方法,它的主要职责是在创建类的...
根据给定的信息,我们可以深入探讨C#中的构造函数与析构函数的概念,特别是关于它们的调用顺序以及如何实现继承中的构造。 ### C#中的构造函数 #### 构造函数的作用 构造函数是一种特殊的方法,用于初始化新创建的...
在C# MVC中,我们可以通过Castle Windsor来实现在控制器中带有参数的构造函数注入。 首先,我们需要了解什么是依赖注入。依赖注入是一种设计模式,其核心思想是将依赖关系从代码中解耦出来,使得组件之间可以独立地...
C# 构造函数如何调用虚方法 C# 构造函数如何调用虚方法是一个重要的知识点,了解这个问题可以帮助开发者更好的理解和使用 C# 语言中的虚方法和构造函数。 首先,需要了解什么是虚方法。在 C# 中,用 virtual ...
C#构造函数是用来初始化对象的,主要有静态构造函数和实例构造函数两种类型。构造函数的使用可以使对象的初始化更加灵活、可靠。在实际开发中,构造函数经常用来初始化对象的属性,例如: ```csharp public class A ...
以上就是关于标题和描述中提到的C#构造函数和异常处理的知识点,对于开发者来说,理解这些概念有助于编写更健壮和可靠的代码。通过深入学习这些原理,你可以更好地管理对象生命周期,避免潜在的程序错误。