对于构造方法的简单代码示例

本来不应该贴在这里的,会被众多高手贻笑大方的。不过,有两个同事这两天问我这个问题,我感觉大家的基础知识还不扎实,所以就把一个简单的demo放出来。加之这个站点也有很多非博客的人来看,权作一个新手入门。

using System;

namespace Construture
{
    
class Demo
    
{
        [STAThread]
        
static void Main(string[] args)
        
{
            Child c 
= new Child(10,20,30);
        }

    }


    
public class Parent
    
{
        
public Parent(int i)
        
{
            Console.WriteLine(
"Parent with 1 paramenter:"+i);
        }

    }


    
public class Child : Parent
    
{
        
public Child(int i,int j):base(j)
        
{
            Console.WriteLine(
"Child with 2 parameters:"+i);
            Console.WriteLine(
"Child with 2 parameters:"+j);
        }


        
public Child(int i,int j,int k):this(j,k)
        
{
            Console.WriteLine(
"Child with 3 parameters:"+i);
            Console.WriteLine(
"Child with 3 parameters:"+j);
            Console.WriteLine(
"Child with 3 parameters:"+k);
        }

    }

}


没有加析构函数,只要把析构理解为上面的反向就行了。
同事主要问我,:this(some parameter)和base(some parameter)是什么意思。我也没告诉他们,作了这么一个demo,自己运行一下,就知道接过了。如果愿意的话,F11跟踪每一步,效果会更好一些。
posted @   鞠强  阅读(866)  评论(2编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?

hello

world

点击右上角即可分享
微信分享提示