C# class 类是什么东西?

这篇具有很好参考价值的文章主要介绍了C# class 类是什么东西?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

class,类,就是一个类型,一个抽象。

  • 比如奔驰、宝马、丰田、本田,将他们抽象一下,就可以定义一个class类叫做“小汽车”。
  • 在往下追溯,宝马X1,X2,X3,X4,X5,这些型号,将他们抽象一下,就可以定义一个class类叫做“宝马”。
  • 在往上追溯,小汽车、公交车、消防车,将他们抽象一下,就可以定义一个class类叫做“车”。
  • 如此看来,根据颗粒度的不同,定义类是可以随意的,你只要找到一个共同特性,将他们关联起来,就可以定义一个类。

但是,为什么要定义类呢?

  • 类是变量的升级版本。
  • 理论上,可以在一个class里面写所有的变量和方法。但这样,管理和使用会很麻烦,就像没有分类整理的图书馆一样。于是,我们要分类整理。
  • 所有,什么时候新建变量,什么时候新建类呢?
  • 新建的变量与本类密切相关,如果一堆变量和方法可以成为一个比较独立的存在就将他们全部提取成一个新类。
  • 举个例子,班级要统计分数,要建一个类AllStudentsScore,全体同学分数类。里面有变量string studentName,int studentNum,bool studentSex,float mathScore,float ChineseScore,float EnglishScore,这些变量中float mathScore,float ChineseScore,float EnglishScore,可以提取成一个类Score,这个类中有变量上述三个,还可以加入方法,这些方法就是只为了处理这三个变量的,比如算三科平均分,算三科总分。
  • 然后,在AllStudentsScore直接调用类Score,可以方便知道某同学的各科成绩、平均分、总分,都是在Score里直接实现,而AllStudentsScore直接使用而已。

泛型?

  • 因为要抽象,要泛型。
  • 当我们写一个方法时,方法里面会定义变量,比如int a,string b,bool c,一定要定义才能用。
  • 比如我写一个创建方格子的方法,里面填入int a。那如果我要在方格里填入string b时,我就要修改方法了。我不想这么麻烦,于是用到泛型。
  • 将方法中的int 用T代替,这样后面可以用string 、bool、int 任意类型来替换T这个泛型。
  • string、bool这些就是定义了的类,一种类型,而T就是一个未定义的类,一种泛型。T可以代替任何一种类型。

文章来源地址https://www.toymoban.com/news/detail-407010.html

到了这里,关于C# class 类是什么东西?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何判断一个类是线程安全的

    一个类或者程序提供的接口,多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是 不必考虑同步问题 。 或者说一段代码可能会被多个线程同时执行,如果每次运行的结果和单线程执行的结果是一样的,并且其他变量的值也和预期的值是一样的,就是线程安全

    2024年02月08日
    浏览(31)
  • java中的Dao类是什么意思

    DAO类都是进行数据操作的类, 是对于数据库中的数据做增删改查等操作的代码。 DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 像直接连接到其他数据库一样,直接

    2024年02月13日
    浏览(28)
  • 【程序人生】纳瓦尔:确保稀缺性的最简单的方法就是这个东西来自你的个性 | 纳瓦尔宝典

    目录 纳瓦尔简介 每个人应该找到自己独一无二的专长 确保稀缺性 产品化的关键点

    2024年02月08日
    浏览(40)
  • Spring Boot 中的 CompletableFuture 类是什么,如何使用?

    在开发企业级应用程序时,我们经常需要异步执行任务。异步执行任务可以提高应用程序的性能和响应能力。在 Java 8 中,引入了 CompletableFuture 类,它提供了一种简单而强大的方式来执行异步任务。 Spring Boot 中的 CompletableFuture 类是基于 Java 8 的 CompletableFuture 类构建的。它提

    2024年02月15日
    浏览(33)
  • RNG类是OpenCV中的一个基本随机数生成工具

    RNG类是OpenCV中的一个基本随机数生成工具 在OpenCV中, RNG 类是用于生成随机数的伪随机数生成器(Pseudo-Random Number Generator),它可以用于生成各种类型的随机数,如整数、浮点数和随机颜色,这个类位于 opencv2/core/types.hpp 头文件中; RNG可以产生3种随机数 RNG(int seed) 使用种子

    2024年02月11日
    浏览(34)
  • 给C#新增一个时间类型: YearMonth

    在.Net Framework中,我们常用的时间类型是DateTime。直到.Net6微软加入了两个新的时间类型:DateOnly和TimeOnly,才弥补了之前的不足。 DateOnly :表示仅日期。比如:某人的生日,我只关心日期,就适合用DateOnly。 TimeOnly :表示仅时间。比如:每天定时执行某个任务,我只关心时间,

    2024年02月16日
    浏览(24)
  • 数据结构学习记录——什么是堆(优先队列、堆的概念、最大堆最小堆、优先队列的完全二叉树表示、堆的特性、堆的抽象数据类型描述)

    目录 优先队列 若采用数组或链表实现优先队列  数组 链表 有序数组 有序链表 总结 若采用二叉搜索树来实现优先队列 最大堆 堆的概念 优先队列的完全二叉树表示 堆的两个特性  结构性 有序性 【例】最大堆和最小堆 【例】不是堆 堆的抽象数据类型描述 优先队列 (Prio

    2024年02月02日
    浏览(38)
  • Java中如何获取一个字符串是什么类型

    在Java中,您可以使用一些方法来确定一个字符串的类型。下面是一些常用的方法: 使用正则表达式:您可以使用正则表达式来匹配字符串是否符合特定的模式或格式,以确定其类型。例如,使用matches()方法可以检查字符串是否匹配某个特定的正则表达式模式。 使用内置方法

    2024年02月09日
    浏览(29)
  • C#学习系列之抽象类和抽象方法

    学习基础 abstract public void Func(); 在基类中如果使用abstract,不能有函数体,那么必须在派生类要用override进行重写。用虚方法可不用重写。因为没有函数体,必须重写。 抽象成员:方法、属性、事件、索引。 必须用abstract修饰符标记 不能有实现代码块 抽象类的存在只有一

    2024年02月06日
    浏览(31)
  • @Value是个什么东西

    对注解不了解的可以看一下: Java注解,看完就会用 首先我们要明确: @Value 是 Spring 框架的注解。 它有什么作用呢? @Value 通过注解将 常量 、 配置文件中的值 、其他 bean的属性值 注入到变量中,作为变量的初始值。 顾名思义,就是把一个写死的值赋给对应变量,形式如下

    2024年02月03日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包