类、结构体与继承

类(class) 共享文档的链接 引用类型,赋值时传的是"地址",改一处全变
结构体(struct) 文件的复印件 值类型,赋值时复制一份全新的,互不影响
继承 家族遗传 儿子自动拥有爸爸的本领,还能自己学新招

——————————————————————————————————————————————————————————————————————————

案例 1:类是"共享链接"(引用类型)
csharp
class Person
{
public string Name = "";
}

Person a = new Person();
a.Name = "张三";

Person b = a; // b 拿到的是同一个地址
b.Name = "李四"; // 改的是同一个对象

Console.WriteLine(a.Name); // 输出:李四
b = a 不是复印,而是两个人共用一份文档。所以改了 b,a 也跟着变。

——————————————————————————————————————————————————————————————————————————

案例 2:结构体是"复印件"(值类型)
csharp
struct Point
{
public int X;
}

Point a = new Point();
a.X = 10;

Point b = a; // b 拿到的是全新复印件
b.X = 20; // 只改自己的那份

Console.WriteLine(a.X); // 输出:10
b = a 是复印了一份。b 怎么改,都不会影响 a 的原件。适合存坐标、颜色等简单数据。

——————————————————————————————————————————————————————————————————————————

案例 3:继承是"遗传本领"
csharp
class Animal
{
public void Eat() => Console.WriteLine("吃东西");
}

class Dog : Animal // Dog 继承了 Animal
{
public void Bark() => Console.WriteLine("汪汪");
}

Dog dog = new Dog();
dog.Eat(); // 从爸爸那继承来的本事
dog.Bark(); // 自己学的本事
Dog : Animal 表示"狗是一种动物"。狗天生会 Eat(继承),还会自己独有的 Bark。不用把 Eat 的代码再写一遍。

posted @ 2026-08-06 16:25  菜鸟的奋斗军  阅读(2)  评论(0)    收藏  举报