类是 C# 中的基本类型之一。我们可以将类视为与问题域相关的对象的蓝图。它是我们创建对象的模板,定义了从此类创建的对象集将共享的结构和行为。简单来说,类是一个 cookie-cutter,而对象就是 cookie 本身。
类还支持封装,这是面向对象编程中的一个重要概念。这意味着将数据和处理数据的操作组合在一个地方,并为该对象的用户提供一个简单的 API。类允许我们封装数据,并对其他类隐藏不相关的细节。
我们可以使用 class 关键字,后跟类的名称来创建一个类。
// User.cs public class User{ private string name; private int salary; public void Promote(){ salary += 1000; } }
在上面的例子中,User是一个代表用户的类。该类封装了两部分数据 - name 和 salary。这些被称为类字段,包含用户的姓名和工资。它还具有一个名为 Promote() 的方法,用于提高用户的工资。
每个类都有一个关联的访问修饰符,用于控制该类是否将对其他类可见。以下是我们可以为访问修饰符提供的五个可能值。
访问修饰符 | 描述 th> |
---|---|
公开 | 无限制访问 |
受保护 | 对派生类的有限访问 |
内部 | 对程序集的有限访问 |
受保护的内部 | 对程序集或派生类的访问受到限制 |
私有 | 禁止外部访问 |
要创建类的实例,我们可以使用new关键字。 new 运算符计算对象数据所需的字节数并为对象分配内存。然后它返回一个指向新创建的对象的指针(也称为引用)。
var alice = new User(); var bob = new User();
然后,将此引用存储在等号左侧的变量中。在上面的示例中,Alice和Bob保存对新创建的对象的引用或指针。
在C#中,类的命名约定遵循PascalCase,即将复合词中的每个单词的首字母大写,例如StringBuilder,UserController等。不需要在文件中创建与类名匹配的类。然而,大多数C#项目都使用了这种约定。
构造函数
在上面的示例中,当我们创建User类的实例(即alice和bob)时,我们没有提供它们的初始名称和工资。通常,新创建的对象需要一些信息来完成其工作,构造函数用于初始化类的数据。
我们可以添加一个构造函数来为用户指定名称和工资,如下所示:
public class User{ private string name; private int salary; public User(string name, int salary){ this.name = name; this.salary = salary; } public void Promote(){ salary += 1000; } }
拥有构造函数使我们能够在创建新实例时传递用户的姓名和薪水。
var alice = new User("Alice", 50000); var bob = new User("Bob", 45000);
一个类中可以有多个构造函数。拥有多个构造函数允许我们以不同的方式初始化类。例如,我们可以添加另一个构造函数,该构造函数仅采用用户名并分配默认工资。
public User(string name){ this.name = name; this.salary = 50000; }
Example
实例演示
using System; class Program{ static void Main(){ var alice = new User(); alice.Print(); var bob = new User(); bob.Print(); var chris = new User("Chris", 50000); chris.Print(); var debs = new User("Debs", 45000); debs.Print(); var scott = new User("Scott"); scott.Print(); } } public class User{ private string name; private int salary; public User(){ } public User(string name){ this.name = name; this.salary = 50000; } public User(string name, int salary){ this.name = name; this.salary = salary; } public void Promote(){ salary += 1000; } public void Print(){ Console.WriteLine($"{name}: {salary}"); } }
输出
: 0 : 0 Chris: 50000 Debs: 45000 Scott: 50000
以上是解释一下C#中类的概念的详细内容。更多信息请关注PHP中文网其他相关文章!

本文解释了如何使用printf中的\ n逃脱序列在C中创建新线字符并列出函数。 它详细介绍了功能并提供了代码示例,以说明其用于输出中的线路断裂。

本文探讨了C中的无指针启用的挑战。它认为问题本身不是零,而是滥用。 本文详细介绍了预防退出的最佳实践,包括提出前检查,指针pitiberi

本文指导初学者选择C编译器。 它认为,海湾合作委员会由于其易用性,广泛的可用性和广泛的资源,最适合初学者。 但是,它也比较了海湾室,Clang,MSVC和TCC,突出了它们的差异

本文强调了NULL在现代C编程中的持续重要性。 尽管取得了进步,但NULL对于明确的指针管理仍然至关重要,从而通过标记没有有效的内存地址来防止细分故障。 最好的prac

本文回顾了初学者的在线C编译器,重点是易用性和调试功能。 在线GDB和REPL。 其他选项,例如Programiz和Compil

本文讨论了C IDE中的有效代码复制。 它强调,复制是IDE功能,而不是编译器功能,并且详细提高了效率的策略,包括使用IDE选择工具,代码折叠,搜索/替换,Templa

本文比较在线C编程平台,突出了诸如调试工具,IDE功能,标准合规性和内存/执行限制等功能的差异。 它认为“最佳”平台取决于用户需求

该教程通过在Windows,MacOS和Linux上安装C编译器来指导用户。 它详细介绍了流行编译器(Mingw,Visual Studio,Xcode,GCC)的安装,解释了环境变量配置,并提供故障排除步骤


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver Mac版
视觉化网页开发工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。