C#构造方法重载

1、什么是构造方法?

首先,它是一个方法,它是类中 众多方法中的一个。其次,它具有类中其他方法所不具备的一些特性。

在类执行开始的时候,执行这个方法。

2、构造方法相对其他方法有哪些不同?

方法名:类中普通的方法可以根据代码书写者的个人喜好任意取名。但是,构造方法不可以。构造方法的名字必须与类名相同。换句话说,当类中的一个方法名与类名相同时,C#即认为此方法为类的构造方法。

执行顺序:类中的普通方法是在类实例化之后被调用执行的,而构造方法则是在类实例化之前执行的。

Circle圆类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace over
{
    class Circle
    {
        public int r;

        public Circle()//不带参数的构造方法,为默认构造方法
        {
            Console.WriteLine("Circle类的构造方法被调用");
            r = 10;
        }

        public Circle(int rid)
        {
            Console.WriteLine("Circle类中重载了的构造方法被调用");
            r = rid;
        }

        public double s()
        {
            return Math.PI * r * r;
        }
    }
}

  

  在没有添加构造方法的时候,默认类中会为我们添加一个不带参数,名字和类名相同的方法,这个方法被称为构造方法,构造方法无需添加void ,int等关键字,直接public+方法名()

  Program类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace over
{

    class Program
    {
        static void Main(string[] args)
        {
            Program p = new Program();
            p.run();

        }

        void run()
        {
            Circle c;
            c = new Circle();
   //       c = new Circle(20);// 传递参数20到circle类中,调用重载了的带int rid参数的构造方法

            double area = c.s();
            Console.WriteLine(area);

            Console.ReadKey();

        }

    }

}

  

实例化一个Circle属性的c,

 Circle c = new Circle();在不传值的情况下,默认掉用的是不带参数的构造方法,定义了r=10;

在执行

c = new Circle(20);传递参数20,调用的是重载的public Circle(int rid)构造方法,这是r=20;

				
时间: 2024-10-23 05:43:26

C#构造方法重载的相关文章

学java教程之构造方法重载

学编程吧学编程学IT教程之java构造方法重载教程发布了,欢迎大家通过xuebiancheng8.com来访问. 在前面分析过什么是构造方法,构造方法是实例化对象的时候执行的代码就是构造方法,用来完成对象的初始化,那么大家想想是不是在一个类中只能有一个构造方法呢,答案是否定的,一个类中可以有多个构造方法,这些构造方法之间就构成了方法的重载,下面我们来看看什么是构造方法重载.先看个例子: public class Person{ private int age; private String na

Java中,什么是构造方法?什么是构造方法重载?什么是复制构造方法?

什么是构造方法? 当新对象被创建的时候,构造方法就会被调用.每一个类都有构造方法,如果程序员没有给类提供构造方法,Java编译器会为这个类创建一个默认的构造方法. 什么是构造方法重载? 构造方法重载跟方法重载很相似,可以为一个类创建多个构造方法,每一个构造方法必须有它自己唯一的参数列表. 什么是复制构造方法? Java不支持构造方法的复制,复制构造方法是C++的内容. 原文地址:https://www.cnblogs.com/Freak-Lew/p/9191304.html

构造方法的重载

构造方法重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表 构造方法注意事项 a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法. b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法. 注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出. 建议永远自己给出无参构造方法

封装 ,this,构造方法,方法重载

.什么是封装?封装就是将属性私有化,提供公有的方法访问私有属性. 做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问. 如:private String name; public String getName(){ ??????????????????? return; ?????????? } ? ????? public void setName(String name){ ???????????????

c#重载和重写及运用

重载的条件: 1.必须在同一个类中2.方法名必须相同3.参数列表不能相同.   重写的条件:          1. 在不同的类中          2. 发生方法重写的两个方法返回值,方法名,参数列表必须完全一致          3. 子类抛出的异常不能超过父类相应的方法抛出的异常          4. 子类方法的访问级别不能低于父类相应方法的访问级别(public,package,protected, private)          5.方法体不同 super()调用父类构造,sup

J2SE之面向对象_重载_this_static_package_import_继承_访问控制

方法的重载 构造方法重载 对象的创建和使用 class Point { private double x; private double y; Point(double x1, double y1) { x = x1; y = y1; } public double getX() { return x; } public double getY() { return y; } public void setX(double i) { x = i; } public void setY(doubl

构造方法探析

构造方法探析 编译环境 Windows 10 Pro jdk1.8.0_91 如果没有特殊说明,下面程序都有javac.java的编译运行过程. 构造方法的特点 方法名与类名相同. 不用定义返回值类型. 没有具体的返回值. 此次整理是按照知识点具体为例子的方式. 当没有写构造方法时,Java虚拟机默认会创建一个空构造 ClassDemo1.java class ClassDemo1{ public static void main(String[] args){ //new 关键字后面跟的必须是

重载与重写

因为名字上的相似,我总是搞不清重载和重写的区别,我以前用过得究竟是重载还是重写我也不清楚.这两个放在一起比较的原因就是,名字上总是混为一谈. 现在总结现在区分一下还为时不晚,也两个东西可能没有什么对比性,单单只是名字相似,但是就是因为名字相似,当自己用的时候总是说,恩,这里用到了重载,哦,不是是重写.哎呀,知道就行了,爱叫啥叫啥吧. 方法重载:提供了创建同名的多个方法的能力,但是这些方法需要使用不同的参数类型. 注意:方法重载的时候,两个方法名相同,但是参数类型或个数必须要有所不同.优点:可以在

附录A培训实习生-面向对象基础(3):方法重载

就上一篇代码而言,你如果写Cat cat = new Cat();会直接报错错误 : 1       “Cat”方法没有采用“0”个参数的重载 E:\大话设计模式学习\BigDesignPatterns\附录A培训实习生之面向对象基础\动物运动会\AnimalGames\Form1.cs       20     23     AnimalGames 原因就是必要给小猫起名字.如果当真需要不起名字也要生出小猫来,可以采用方法重载. 方法重载提供了创建同名的多个方法的能力,但这些方法需使用不同的参