VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • C#中对象之间的关系

在C#中,对象之间的关系主要有以下几种:
 
1. 继承(Inheritance):子类可以继承父类的属性和方法。这样,子类就可以重用父类的代码,减少重复代码。
 
2. 封装(Encapsulation):将对象的属性和方法包装在一个类中,隐藏对象的内部实现细节。这样可以保护对象的数据,防止外部直接访问和修改。
 
3. 多态(Polymorphism):允许一个接口使用多种实现。这样,我们可以使用相同的方法名来调用不同的实现,而不需要关心具体的实现类。
 
下面通过实例代码讲解这三种关系:
 

// 1. 继承
class Animal
{
    public string Name { get; set; }
 
    public void MakeSound()
    {
        Console.WriteLine("动物发出声音");
    }
}
 
class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("汪汪汪");
    }
}
 
class Cat : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("喵喵喵");
    }
}
 
class Program
{
    static void Main(string[] args)
    {
        Animal myAnimal = new Dog(); // 创建一个Dog对象,但将其赋值给Animal类型的变量
        myAnimal.MakeSound(); // 输出:汪汪汪
 
        Animal anotherAnimal = new Cat(); // 创建一个Cat对象,但将其赋值给Animal类型的变量
        anotherAnimal.MakeSound(); // 输出:喵喵喵
    }
}
 
// 2. 封装
class BankAccount
{
    private double balance;
 
    public double GetBalance()
    {
        return balance;
    }
 
    public void Deposit(double amount)
    {
        balance += amount;
    }
 
    public void Withdraw(double amount)
    {
        if (amount <= balance)
        {
            balance -= amount;
        }
        else
        {
            Console.WriteLine("余额不足");
        }
    }
}
 
class Program
{
    static void Main(string[] args)
    {
        BankAccount account = new BankAccount();
        account.Deposit(1000);
        Console.WriteLine("存款后余额:" + account.GetBalance()); // 输出:存款后余额:1000
        account.Withdraw(500);
        Console.WriteLine("取款后余额:" + account.GetBalance()); // 输出:取款后余额:500
    }
}
 
// 3. 多态
interface IFlyable
{
    void Fly();
}
 
class Bird : IFlyable
{
    public void Fly()
    {
        Console.WriteLine("鸟儿飞翔");
    }
}
 
class Fish : IFlyable
{
    public void Fly()
    {
        Console.WriteLine("鱼儿游泳");
    }
}
 
class Program
{
    static void Main(string[] args)
    {
        IFlyable bird = new Bird();
        bird.Fly(); // 输出:鸟儿飞翔
 
        IFlyable fish = new Fish();
        fish.Fly(); // 输出:鱼儿游泳
    }
}
 
 

最后,如果你对python语言还有任何疑问或者需要进一步的帮助,请访问https://www.xin3721.com 本站原创,转载请注明出处:https://www.xin3721.com/ArticlecSharp/c47925.html



相关教程