博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#类的构造
阅读量:5805 次
发布时间:2019-06-18

本文共 1147 字,大约阅读时间需要 3 分钟。

主要来看下以下代码:

ExpandedBlockStart.gif
代码
using
 System;
using
 System.Collections.Generic;
using
 System.Linq;
using
 System.Text;
namespace
 MyClass
{
    
class
 A
    {
        
public
 A()
        {
            Console.WriteLine(
"
我是类A的构造器
"
);
        }
        
public
 A(
int
 i)
        {
            Console.WriteLine(
"
我在A这里呢
"
);
        }
    }
    
class
 B:A 
//
B为A的子类 
    {
        
public
 B()
        {
            Console.WriteLine(
"
我是类B的构造器
"
);
        }
         
public
 B(
int
 i)
        {
            Console.WriteLine(
"
我在B这里呢
"
);
        }
    }
    
class
 Program
    {
        
static
 
void
 Main(
string
[] args)
        {
            B b 
=
 
new
 B(
100
);
        }
    }
}

 

 得到的结果是:

我是类A的构造器

我在B这里呢

 

从得到的结果可以看出,子类创建对象的时候,先调用父类的默认构造函数,然后子类再调用自己相应的构造函数。

 如果有人想要声明的对象使用特定的构造函数,那么有什么办法呢?

在这里继续介绍一个base关键字

 

看下面的代码:

using
 System;
using
 System.Collections.Generic;
using
 System.Linq;
using
 System.Text;
namespace
 MyClass
{
    
class
 A
    {
        
public
 A()
        {
            Console.WriteLine(
"
我是类A的构造器
"
);
        }
        
public
 A(
int
 i)
        {
            Console.WriteLine(
"
我在A这里呢
"
);
        }
    }
    
class
 B:A 
//
B为A的子类 
    {
        
public
 B()
        {
            Console.WriteLine(
"
我是类B的构造器
"
);
        }
         
public
 B(
int
 i):
base
(i) 
//
注意base这个关键字
        {
            Console.WriteLine(
"
我在B这里呢
"
);
        }
    }
    
class
 Program
    {
        
static
 
void
 Main(
string
[] args)
        {
            B b 
=
 
new
 B(
100
);
        }
    }
}

 

 那么此时的结果为:

我在A这里呢

我在B这里呢 

 貌似由一个静态构造函数,他的作用是对静态成员进行初始化。

转载于:https://www.cnblogs.com/ktyanny/archive/2010/05/21/1740997.html

你可能感兴趣的文章
webpack 使用心得
查看>>
如何在python中import
查看>>
[Qt][翻译]Qt Style Sheets内容学习-1
查看>>
FusionCharts中文教程:自定义图表——锚点
查看>>
zhilizhili-ui 2016始动 移动端select美化
查看>>
常用浏览器私有属性小记
查看>>
CSS3实现气泡效果
查看>>
大数据平台CDH集群在线安装
查看>>
[Leetcode] Sliding Window Maximum 滑动窗口最大值
查看>>
滚蛋吧!constant 君
查看>>
swift 中级extension
查看>>
简单几步在 Windows 10 上尝鲜 Chrome 的黑暗模式
查看>>
einx 1.0 发布,golang 游戏服务器框架
查看>>
Adaptive Execution如何让Spark SQL更高效更好用?
查看>>
全栈必备——Git
查看>>
git 操作
查看>>
深入理解 JavaScript中的变量、值、传参
查看>>
AECC2019免费下载After Effects CC 2019中文完整破解版免费下载与安装教程 ...
查看>>
2018再见|2019你好
查看>>
混合云管理-企业如何选择混合云管理平台
查看>>