zoukankan      html  css  js  c++  java
  • C# 构造方法...

    Class1.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Class1
        {
            private string _name;
            private int _age;
            /*
             * 定义构造方法:
             * 1.构造方法没有返回值类型
             * 2.构造方法名和类相同
             * 3.构造方法的类型通常为public
             */
            public Class1(string name)
            {
                Name = name;
            }
            // _name 接口, 实例化形式赋值
            public string Name
            {
                get
                {
                    return _name;
                }
    
                set
                {
                    _name = value;
                }
            }
            // _age接口,初始化形式赋值
            public int Age
            {
                get
                {
                    return _age;
                }
    
                set
                {
                    _age = value;
                }
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Class1 myname = new Class1("namejr");
                myname.Age = 12;
                Console.WriteLine("我的名字:{0}, 年龄:{1}", myname.Name, myname.Age);
            }
        }
    }

    构造方法的另一种传参形式(相对来说比较简洁):

     Class1.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Class1
        {
            private string name;
            public string Name
            {
                get
                {
                    return name;
                }
    
                set
                {
                    name = value;
                }
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 该方法属于无参构造方法, 括号可以不写
                Class1 myname = new Class1(){ Name = "namejr" };
            }
        }
    }

     注:1.构造方法也可以重载,但是如果使用有参构造,那么默认无参构造则会被取代(不存在)。2.如果构造函数继承父类构造函数,那么子类必须带有可以满足父类参数的参数

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Dog dog1 = new Dog("jack");
            }
            public class Aminal
            {
                public Aminal(string name)
                {
                    Console.WriteLine("Aminal: " + name);
                }
            }
            public class Dog : Aminal
            {
                // 如果父类的构造函数带有参数时,那么继承的子类必须也要带参
                public Dog(string name):base(name)
                {
                    Console.WriteLine("Dog: " + name);
                }
            }
        }
    }
  • 相关阅读:
    ActiveX控件开发 C#
    sql server中新增一条数据后返回该数据的ID
    数据库设计之用户-角色-权限分配
    C#面向对象基础
    单片机通讯协议
    MSDN上的异步socket 服务端例子
    文件操作
    socket+select模型
    HSV颜色模型
    视觉软件需要考虑的10个方面
  • 原文地址:https://www.cnblogs.com/namejr/p/10260906.html
Copyright © 2011-2022 走看看