首页 > 其他分享 >C # 构造方法

C # 构造方法

时间:2024-03-19 22:31:45浏览次数:15  
标签:Console string 构造方法 Person public 构造函数

要点:
  1. 构造函数:它是类的一种特殊方法,当我们要创建类的实例(即对象)时,构造函数就会被自动调用,用于初始化这个对象的状态。构造函数的名字与类名完全相同,并且它不会返回任何值。

  2. 构造函数的作用:它的主要任务是初始化对象的成员变量,确保对象在创建时就处于正确的状态。

  3. 无参构造函数:当我们没有为类显式地定义任何构造方法时,系统会自动为我们提供一个无参数的默认构造函数。

  4. 有参构造函数:

    a. 有参构造函数允许我们在创建对象时传入一些参数,通过传入不同的参数值,我们可以创建出具有不同属性和行为的对象实例。

    b. 相比无参构造函数,有参构造函数提供了更大的灵活性和多样性。

    c. 使用有参构造函数可以将对象的初始化逻辑封装在构造方法中,通过将初始化代码集中在构造方法中,我们可以减少代码冗余和错误的可能性,提高代码的质量和可维护性。

namespace unit9._1
{
   public class Person
   {
       #region 无参构造方法

       
       public Person()
       {
           
       }

       #endregion

       #region 有参构造方法

       public Person(string name, string idCard, DateTime birthday, string sex)
       {
           //可能会与下面的字段名字重复,最好使用this
           //this当前正在使用的对象
           this.name = name;
           this.idCard = idCard;
           this.birthday = birthday;
           this.sex = sex;
       }

       #endregion
       //有参构造方法

       #region 有参构造方法

       public Person(string nickName)
       {
          this.name = nickName;
       }

       #endregion
       #region 字段

       private string name;
       private string idCard;
       private DateTime birthday;
       private string sex;

       #endregion
       #region 属性

       public string Name { get; set; }

       public string IdCard
       {
           get { return idCard;}
           set { idCard = value; }
       }
       public DateTime Birthday
       {
           get { return birthday;}
           set { birthday = value; }
       }
       public string Sex
       {
           get { return sex;}
           set { sex = value; }
       }

       #endregion
        #region 方法

        public void Eat()
        {
            Console.WriteLine($"{name}吃饭了");
        }

        #endregion

        #region 将输出的内容封装成一个方法体里面

        public void Print()
        {
            Console.WriteLine($"姓名:{name},性别:{sex},生日:{birthday},身份证:{idCard}");
        }

        #endregion
    }
}
using System;
namespace unit9._1
{
    class Program
    {
        static void Main(string[] args)
        {
 Person person1 = new Person();  
            person1.Name = "张三";  
            person1.IdCard = "123456789012345678";  
            person1.Birthday = new DateTime(1990, 1, 1);  
            person1.Sex = "男";  
  
            // 使用有参构造方法(包含所有字段)创建Person对象  
            Person person2 = new Person("李四", "876543210987654321", new DateTime(1992, 2, 28), "女");  
  
            // 使用只包含昵称的有参构造方法创建Person对象  
            Person person3 = new Person("王五");  
            person3.IdCard = "098765432109876543";  
            person3.Birthday = new DateTime(1993, 3, 15);  
            person3.Sex = "男";  
  
            // 打印每个人的信息  
            Console.WriteLine("Person 1:");  
            person1.Print();  
            Console.WriteLine("Person 2:");  
            person2.Print();  
            Console.WriteLine("Person 3:");  
            person3.Print();  
  
            // 调用Eat方法  
            person1.Eat();  
            person2.Eat();  
            person3.Eat();  
  
            // 等待用户输入,防止控制台窗口立即关闭  
            Console.WriteLine("按任意键退出...");  
            Console.ReadKey();  
           
        }
    }
}

 

 

 

标签:Console,string,构造方法,Person,public,构造函数
From: https://blog.csdn.net/m0_56643625/article/details/136856552

相关文章

  • 什么是构造方法
    /*构造方法什么是构造方法?方法名和类名相同,和普通方法的格式不一样的特殊方法构造方法的定义格式?修饰符类名(形参){执行语句}构造方法的作用?1,用来创建对象2,......
  • 构造方法
    构造方法####__init__构造方法''' 触发时机:实例化对象,初始化的时候触发 功能:为对象添加成员 参数:参数不固定,至少一个self参数 返回值:无'''基本语法classMyClass(): def__init__(self): print("构造方法被触发...") self.color="屎黄色" #实例化对象......
  • 解密Spring中的Bean实例化:推断构造方法(上)
    在Spring中,一个bean需要通过实例化来获取一个对象,而实例化的过程涉及到构造方法的调用。本文将主要探讨简单的构造推断和实例化过程,让我们首先深入了解实例化的步骤。实例化源码protectedBeanWrappercreateBeanInstance(StringbeanName,RootBeanDefinitionmbd,@NullableO......
  • 面向对象—【类与对象】【类的定义与对象创建】【对象的使用】【方法创建与使用】【方
    面向对象基础篇我们在前面已经学习了面向过程编程,也可以自行编写出简单的程序了。我们接着就需要认识面向对象程序设计(ObjectOrientedProgramming)它是我们在Java语言中要学习的重要内容,面向对象也是高级语言的一大重要特性。面向对象是新手成长的一道分水岭,有的人秒懂,有的人......
  • 面向对象—【类与对象】【类的定义与对象创建】【对象的使用】【方法创建与使用】【方
    @目录面向对象基础篇类与对象类的定义与对象创建对象的使用方法创建与使用方法进阶使用构造方法源码:Giteehttps://gitee.com/drip123456/java-seGIthubhttps://github.com/Drip123456/JavaSE专栏:JavaSE笔记专栏面向对象基础篇我们在前面已经学习了面向过程编程,也可以自......
  • JAVA构造方法
    构造方法介绍语法使用细节关于在继承中新增的构造方法使用细节1子类必须要调用父类的构造器,完成父类的初始化2父类构造器的调用不限于直接父类!将一直往上追溯直到Object类(顶级父类)3当创建子类对象时,不管使用的是子类的哪个构造器,默认情况下总会调用父类......
  • 在Python中,子类继承父类并调用父类的构造方法有几种方式: 1. 如果子类没有重写`__init
    在Python中,子类继承父类并调用父类的构造方法有几种方式:1.如果子类没有重写`__init__`,实例化子类时,会自动调用父类定义的`__init__`¹。```pythonclassFather(object):  def__init__(self,name):    self.name=nameclassSon(Father):  passson=So......
  • 面向对象基础 成员变量、成员方法、构造方法、this关键字、静态字段、静态方法..
    成员变量与局部变量的区别:  1.作用域:成员变量作用于整个类,局部变量只作用于它所属的范围(函数、语句)  2.生命周期&位置:成员变量存储在堆内存中,是属于对象的,随着对象存在消失。局部变量存储在栈内存中,是属于他所属的范围的,使用完自动释放。  3.初始值:成员变量有默认初始......
  • java 类默认构造方法
    Java类默认构造方法在学习Java面向对象编程时,我们经常会遇到类的构造方法。构造方法是一种特殊的方法,用于创建和初始化对象。当我们在定义类时没有显式地定义构造方法时,Java会为我们提供一个默认构造方法。本文将介绍Java类的默认构造方法以及其相关知识点。默认构造方法是什么......
  • Java运用构造方法,计算并输出两点间的距离
    importjava.util.Scanner;publicclassjavaTest{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubdoublex1,y1,x2,y2;Scannersc=newScanner(System.in);while(sc.hasNext()){x1=sc.nextDo......