C#的类和对象的概念学习案例刨析

简介: 【5月更文挑战第17天】C#是一种面向对象的语言,以类和对象为核心。类作为对象的模板,定义了属性(如Name, Age)和行为(如Greet)。对象是类的实例,可设置属性值。封装通过访问修饰符隐藏实现细节,如Customer类的私有name字段通过Name属性访问。继承允许新类(如Employee)从现有类(Person)继承并扩展。多态让不同对象(如Circle, Square)共享相同接口(Shape),实现抽象方法Area,提供灵活的代码设计。

C#是面向对象的编程语言,类和对象是其核心概念之一。以下是关于C#类和对象的学习案例详解:

  1. 类的概念

类是对象的一个模板,它描述了一类对象的属性和行为。类可以包含字段、属性、方法等成员。例如:

public class Person {
   
    public string Name {
    get; set; }
    public int Age {
    get; set; }
    public void Greet(string name) {
   
        Console.WriteLine($"Hello, {name}");
    }
}
  1. 对象的概念

对象是指类的一个实例。例如,我们可以创建Person类的一个实例,并为其设置Name和Age属性:

Person person = new Person();
person.Name = "John";
person.Age = 30;
  1. 封装

封装是面向对象的一种重要特性,它隐藏类的实现细节,只暴露必要的接口。在C#中,我们可以使用访问修饰符来控制类的可见性。例如:

public class Customer {
    private string name;
    public string Name {
        get { return this.name; }
        set { this.name = value; }
    }
}

在这个例子中,我们使用private关键字来隐藏name字段,只公开Name属性,这样就可以通过Name属性来获取或设置name字段的值。

  1. 继承

继承是从一个已存在的类派生出新的类的过程。子类可以继承父类的属性和方法,并添加自己的属性和方法。例如:

public class Employee : Person {
    public decimal Salary { get; set; }
}

在这个例子中,Employee类继承自Person类,并添加了自己的Salary属性。

  1. 多态

多态是面向对象的一种重要特性,它表示不同的对象可以共享相同的接口。例如:

public abstract class Shape {
    public abstract double Area();
}
public class Circle : Shape {
    public override double Area() {
        // calculate area of circle
    }
}
public class Square : Shape {
    public override double Area() {
        // calculate area of square
    }
}

在这个例子中,Shape类是抽象类,Circle和Square都是Shape的子类,并实现了Area方法。这样,我们可以使用Shape类的指针指向Circle或Square对象,调用Area方法即可得到正确的结果。

目录
相关文章
|
1月前
|
C#
C#的基本语法结构学习
【5月更文挑战第17天】C#基础语法包括变量(如`int x = 10`)、常量(`const int MAX_VALUE = 100`)、运算符(如算术和比较运算符)、控制语句(if、for、while等)和函数声明(`int Add(int x, int y) { return x + y; }`)。这些构成C#程序的基本元素。
48 0
|
17天前
|
C#
C# 版本的 计时器类 精确到微秒 秒后保留一位小数 支持年月日时分秒带单位的输出
这篇2010年的文章是从别处搬运过来的,主要包含一个C#类`TimeCount`,该类有多个方法用于处理时间相关的计算。例如,`GetMaxYearCount`计算以毫秒为单位的最大年数,`GetCurrentTimeByMiliSec`将当前时间转换为毫秒,还有`SecondsToYYMMDDhhmmss`将秒数转换为年月日时分秒的字符串。此外,类中还包括一些辅助方法,如处理小数点后保留一位数字的`RemainOneFigureAfterDot`。
|
24天前
|
前端开发 Java C#
GitHub突破5k Star!这件事情我坚持了3年,努力打造C#/.NET/.NET Core全面的学习、工作、面试指南知识库
GitHub突破5k Star!这件事情我坚持了3年,努力打造C#/.NET/.NET Core全面的学习、工作、面试指南知识库
|
1月前
|
C#
c# 所有类的最终基类:Object
c# 所有类的最终基类:Object
18 0
|
1月前
|
安全 C#
C#Webrequest类的使用
C#Webrequest类的使用
17 0
|
1月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
1月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
1月前
|
开发框架 .NET Java
探索 C#编程的奥秘与魅力
【4月更文挑战第20天】C#是微软开发的现代、面向对象的编程语言,以其简洁语法、强大功能和跨平台支持脱颖而出。它支持自动垃圾回收、泛型、委托、LINQ,并广泛应用于桌面、Web、移动和游戏开发。C#拥有活跃的开发者社区和丰富的资源,是Unity游戏开发的首选语言。随着.NET Core,C#可在多个操作系统上运行,持续创新,未来发展潜力巨大。
|
1月前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
|
1月前
|
人工智能 C# 云计算
C#编程的未来发展趋向
【4月更文挑战第21天】C#编程未来将深化跨平台支持,强化云计算与容器技术集成,如.NET Core、Docker。在AI和ML领域,C#将提供更丰富框架,与AI芯片集成。语言和工具将持续创新,优化异步编程,如Task、async和await,提升多核性能。开源生态的壮大将吸引更多开发者,共创更多机遇。