C# 类的定义及构造函数的重载

unity3d中C#构造函数与重载 构造函数的名字必须与类名同名,而不能由用户任意命名,以便编译系统能识别它并把它作为构造函数处理。它不具有任何类型,不返回任何值。 创建类时默认有构造函数 构造函数的任务是初始化类的实例,它本身不创建类的实例, 所以它不会返回类实例的引用,它什么都不返回,也不返回void,构造函数就是没有返回值 类的实例是new运算符创建的,new运算符创建了类的实例,然后调用构造函数对 阅读详情
<span style="font-family:FangSong_GB2312;font-size:18px;">
1.类的定义及构造函数的重载


代码如下:</span>
<span style="font-family:FangSong_GB2312;font-size:18px;"> </span><pre name="code" class="csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _8_4
{
    class student
    {
        string strname;
        public student(string name)
        {
            strname = name;
            Console.WriteLine("姓名?:" + strname + " 性别: 未知" + " 年龄 : 未知"); 
        } 
        public student(string name,string sex) 
        {
            strname = name;
            Console.WriteLine("姓名:" + strname + " 性别: " + sex + " 年龄: 未知"); 
        }
        public student(string name, string sex,int age)
        {
            strname = name;
            Console.WriteLine("姓名:" + strname + " 性别: " + sex + " 年龄:" + age);
        } 
        ~student()
        { 
            Console.WriteLine("学生信息" + strname + "输出完毕"); 
        }
    }
    class Program
    {
        static void Main(string[] args) 
        {
            Console.WriteLine("输出学生信息:"); 
            student stu1 = new student("二狗子"); 
            student stu2 = new student("翠花","女"); 
            student stu3 = new student("狗剩","男",30);
            Console.ReadLine(); 
        }
    }
}



运行结果:



2.方法的重载
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace p_134
{
    
    class Program
    {
        const double PI = 3.1415926;
        double getgriph(double r)
        {
            
            return 2 * PI * r;
        }
        double getgriph(double width,double length)
        {
            return 2 * (width + length);
        }

        static void Main(string[] args)
        {
            try
            {
                
                Program pro = new Program();
                Console.WriteLine("计算圆的周长:");
                double dec_r = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("圆的周长为:" + pro.getgriph(dec_r));
                Console.WriteLine("输入矩形的长和宽(以逗号分隔)");
                string rectvalue = Console.ReadLine();
                string[] rectsplit = rectvalue.Split(new char[] { ',' });
                double dec_length = Convert.ToInt32(rectsplit[0]);
                double dec_width = Convert.ToInt32(rectsplit[1]);
                Console.WriteLine("矩形的周长为:   " + pro.getgriph(dec_length, dec_width));
            }
            catch (Exception e) { Console.WriteLine(e.Message); }
            Console.ReadLine();
         }
    }
}

运行结果:



3.定义一个类,描述一个矩形,包含有长、宽两种属性,有一个无参数构造方法,对长宽赋初值为10,8;一个带两个参数方法,对长宽赋值;一个计算面积方法。

编写一个测试类,对以上类进行测试,创建一个长方形,定义其长、宽,输出其面积。

<span style="font-family:FangSong_GB2312;font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 类与对象
{
    class rect
    {
        double rect_length ;
        double rect_width ;
        public double Rect_width
        {
            get { return rect_width; }
            set { rect_width = value; }
        }
       

        public double Rect_length
        {
            get { return rect_length; }
            set { rect_length = value; }
        }
        
        public void rect_shape()
        {
            rect_length = 10;
            rect_width = 8;
        }
        public double getarea()
        {
            return rect_length * rect_width;
        }
        static void Main(string[] args)
        {
            rect shape = new rect();
            shape.rect_shape();
            Console.WriteLine("默认矩形的面积:" + shape.getarea());
            Console.WriteLine( );
            shape.rect_length = 100;
            shape.rect_width = 80;
            Console.WriteLine("矩形的长" + shape.Rect_length);
            Console.WriteLine("矩形的宽" + shape.Rect_width);
            Console.WriteLine("矩形的面积:" + shape.getarea());
            Console.ReadLine();
        }
    }
}</span>

运行结果:








深入理解C#中的操作符重载与构造函数 本文深入探讨了C#编程语言中操作符重载的机制和构造函数的实现。通过详细的代码示例和解释,介绍了如何在类中重载一元、二元和转换操作符,以及实例和静态构造函数的定义和作用。文章还强调了操作符声明的规则和构造函数在类初始化过程中的重要性。... 阅读详情

相关推荐

在运行opencv时出现的两个问题:AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘

解决了opencv的两个问题:由问题一引出 AttributeError: module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' cv2.error:OpenCV(4.1.2)C:\projects\opencvpython\opencv\modules\highgui\src\window.cpp:717:error: (-2:Unspecified error) The function is not implemented...

hu_yinghui的博客 3274

C#构造函数的重载的几种方式

今天工作中遇到了点小麻烦,关于构造函数重载的问题,以前方法重载的时候直接使用相同的函数名传入不同的参数即可。如下面代码: 1 public class UserData 2 { 3 4 5 public bool UpdateUser(string username, string password, int age, int sex,int id) 6

张宏伟Charles的专栏 3061

重装系统后,恢复Oracle的.ORA文件

前几天,系统莫名奇妙产生很多宏病毒,进而感染整个C盘,不得已,格式化后重装了系统。 重装系统之后,突然想到D盘中的oracle中很多数据没导出来备份,安装文件下有很多有用的.ORA文件,抱着死马当活马医的态度,居然成功了。 1、将原来D盘(D:\oracle\product\10.2.0\oradata\orcl)下的数据文件备份下其他盘,将D盘的oracle目录名改成oracle1。安装数据

zhanggnol的blog 5551

C#类(Class)

当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。对象是类的实例,构成类的方法和变量成为类的成员。 一、类的定义 类的定义是以关键字 class 开始,后跟类的名称。类的主体,包含在一对花括号内。下面是类定义的一般形式: class class_name { //

BloodyMandoo的博客 743

原形网络(Prototypical Networks)基于PyTorch的实现

我在Jay2coomzz的基础上修改了数据处理方式和evaluation_model()方法,作为初学者若有不当之处恳请大家批评指正,原文链接如下: https://blog.youkuaiyun.com/weixin_38471579/article/details/102631018 数据集和源码链接将放到评论区 文章目录1 数据集一个简单的数据集介绍数据集处理2 搭建网络CNNProtonets 1 数据集 一个简单的数据集介绍 Omniglot数据集一共包含1623 类手写体,每一类中包含20 个样本。其中.

weixin_43872532的博客 6636

保姆级教程:用Smaart7和你的USB声卡搞定现场音响系统调试(附频谱与延时测试避坑指南)

本文提供Smaart7与USB声卡协同工作的现场音响系统调试指南,涵盖硬件连接、频谱分析、延时校准等关键步骤。通过详细的操作流程和常见问题解决方案,帮助音响工程师快速掌握专业测量技术,确保演出音质达到最佳状态。

weixin_29290259的博客 422

C#-函数的重载&重构&重写

在编码中一个对象一个行为名会有多个行为,比如猴子吃东西的方法,往方法中传入苹果,猴子直接拿起来吃,若传入香蕉需要先剥开再吃。此时猴子类中需要两个方法名相同却执行逻辑不同的方法。比如动物睡觉由小狗小马继承,小狗需要先趴下再睡,小马则是直接站着睡。此时两个子类拥有父类方法,但细节上在该方法下却有不同。

m0_59267625的博客 1375

数仓建模—数据治理框架选型

全名主要亮点覆盖面最广:从数据治理、架构、质量、安全到元数据、主数据、数据仓库等等,几乎所有数据管理主题都能在DMBOK里找到相应章节。概念权威统一:帮助组织建立通用术语和知识基础,减少“部门之间说法不一致”的沟通成本。适用场景:如果你所在公司(或团队)正准备系统梳理数据管理的方方面面,DMBOK是一份非常全面的指导手册,尤其适合培养新人或为整个组织统一认知。需要注意:DMBOK偏“知识指引”,不直接提供成熟度模型或实施路线图。想要落地,还需要结合其他评估模型或项目管理方法。小案例举例:某。

2401_84052244的博客 4743

C#的 构造函数 和 方法重载

构造函数(一本正经的讲构造函数 如果想看不正经的往下翻看方法重载) 方法名称与类名相同,没有返回值类型,连void都没有 用作给类的对象初始化 一个类中可以有多个构造 如果手动添加一个构造,系统不会自动生成无参构造 定义一个Person类,之中有string类型的姓名,int类型的年龄和枚举类型的性别(male,female) 转存失败重新上传取消 创建两个构造函数 构造...

Peter的博客 4567

冠层分析法提取叶面积指数及其应用

冠层分析法是利用植物冠层空间结构分析LAI的方法。其基本原理是通过相机或扫描仪对植物冠层垂直方向的照片或图像进行获取,再运用图像处理方法实现植被的自动识别和覆盖度计算,以此推算LAI。假设有一块田地,需测量其LAI,首先在田地中央设置一杆高度为3米、朝向田地中心、覆盖角度为50度的相机。利用上述函数,对相机采集到的图像进行处理,即可得到田地的LAI。在Matlab中,读取图片可以使用imread函数,对图片进行预处理可以使用imadjust函数调整灰度,使用imbinarize函数进行二值化处理。

m0_47037246的博客 739

分享Charles抓包 显示<unknown> 解决方案 !

首先电脑上需要安装charles,然后需要设置手机上的WiFi设置,修改配置中的代理设置,把服务器的主机名设置成你电脑当前的ip地址(需要注意的是,你的代理服务器主机名的ip地址要和你当前连的ip地址的网段需要一致)。像 Charles 这样的工具,虽然功能强大,但仍然需要用户具备一定的配置和排障能力,以应对各种复杂的网络环境。通过将 Charles 的 SSL 证书正确安装到移动设备中,并在设置中启用“允许不安全的内容”选项,最终成功解决了这一问题,并准确抓取到所有请求数据。Charles 显示。

朱雀随云记的博客 8105

[C#]C# 类class 构造函数

C# 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。本文主要介绍C# 构造函数。

FL1768317420的博客 1195

【Unity的HDRP渲染管线下实现好用的GUI模糊和外描边流光效果_Blur_OutLine_案例分享(内附源码)】

因为没有用到纹理,但介于是UI层,没有MainTeX的时候,会提示报错,所以这里加上了MainTex,最后不在片段着色渲染出来既可。这样UI层级显示正常了,但旋转后的模糊效果,跟背景拼接不上,有很大的偏移。猜测是屏幕UV采样错误导致,只要找到屏幕UV数值,更正过来就可以了,RenderTexture设置一下Size既可,其他的先不管。没有贴图,用Shader实现外描边流光效果。将主相机拖入Render Camera。新建一个RenderTexture。

暴走约伯的博客 1149

C#中的类

一、类的定义    class Study //类名 { string name; //字段 public void setName(string AName) //方法 { this.name = AName; } public stri...

b644352184372385的博客 116

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C#构造析构this重载赋值

记录一下: 1.构造函数和析构函数:对对象进行初始化和回收对象资源。对象生命周期以构造函数开始,以析构函数结束。构造函数、析构函数与所在类具有相同名字,析构函数名前有(~),析构函数自动释放对象所占空间。 构造函数: class one { public one():base(){;} } 析构函数:有默认定义??(我也不知道里面怎么写,等会儿。) 2方法体外定义变量 class program ...

云纹铜禁的博客 953

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C#重载例子

class Program { static void Main(string[] args) { person p1 = new person(); person p2 = new person("s"); person p3 = new person("s",15);

屁股都红了 953

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

构造函数

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 测试 { class Students { //声明私有字段提高访问级别 private string stuNum; private string st

xiaoyong21的专栏 434

C#重载

相同方法名,参数不相同的载入 1、重载的参数数目不同 2、重载的参数类型不同 3、参数数目相同时,参数类型不同或不同参数类型顺序不同 以一下房子类为例 房子类有成员变量小区名、房子尺寸、房子价格、楼层数 根据这些做构造函数的重载 代码 class Room { public string room { set; get; } public string size { set; get; } public int money { set; get

weixin_44022365的博客 1587

C#运算符重载

using System; namespace ConsoleHide { class Program { static void Main(string[] args) { Cat[] cats = { new Cat("十五"),new Cat("十六")}; for (int i=0;i<cats.Length;...

Zhangl15的博客 172

C# 定义点类 从txt中读取

C#定义一个点类,并实现简单几个功能:打印出点、重心化、从文件中读取...

一些笔记 4784

C#构造函数

1.构造函数是一个特殊的方法,没有返回值类型,不能返回值,方法名称和类名一致。 2.构造函数的作用就是构建对象的属性值。 3.任何类的成员都不可能与类名称一样,除了构造函数与析构函数。 4.任何类都会默认提供一个无参的构造函数。但是如果手动添加了带参的构造函数,那么无参的构造函数,会自动消失,所以在创建类之后,立马为其添加一个无参的构造函数。 不添加的话,在下面的例子中会有问题。 5.构...

weixin_34321753的博客 106

第四章.深入类的方法

一,构造函数的特点 1.方法名与类名相同 2.没有返回值类型 3.主要完成对象的初始化工作 二,无参构造函数在默认的情况下,系统会给类分配一个无参构造函数,并且没有方法体。 我们也可以自定义一个无参构造函数的方法体中对类的属性进行赋值,无参构造函数的语法: 语法:访问修饰符类名(){//方法体} 三,带参构造函数语法:访问修饰符...

weixin_30814329的博客 252

C#:02.OOP

文章目录1. 枚举2.Class2.1. 定义2.2.使用2.3.特性 1. 枚举 // 0 1 2 3 public enum Color { Blue, Yellow, Red, Pink } static void Main(string[] args) { Color color = Color.Blue; Console.WriteLine(color); // 虽然显示是'Blue',但不是字符串 if (color == 0

sandalphon4869的博客 228

类和对象(字段=变量、方法=函数、方法重载、静态成员、属性、构造函数)

一、类 类包括:字段、属性、构造函数、函数、索引器。 一个类都可以包含两种成员:字段(Field)与方法(Method)。 字段即变量,方法即函数。 类的字段一般代表类中被处理的数据,类的方法大多代表对这些数据的处理过程或用于实现某种特定的功能,方法中的代码往往需要访问字段保存的数据。 声明为public 的变量和函数可以被外界直接访问,与此对应,private 的变量与函数

brightyanmin的专栏 1857

c# 第五章 类 方法与重载

return $"《{tittle}》-{author}-{price:C}-{year}年";Console.WriteLine($"书名:{tittle}");Console.WriteLine($"作者:{author}");Console.WriteLine($"出版年月:{year}");Console.WriteLine($"价格:{price}");//方法:类似c++的成员函数,但是前面要加访问的权限,同样也可以进行重载。不写默认private。//字段:是类的数据成员,用来访问数据。

geatslazer的博客 28

C# 构造函数后面接 : this() 含义

C#中 冒号 : 的定义和用法

tingchenchen的博客 3598
上一篇: 【转载】 Linux内核源码阅读以及工具
下一篇: C# 类的继承
橘子局
博客等级 码龄14年 70粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值