c语言编程笔录

首页 >   > 笔记大全

笔记大全

C中面向对象的相关知识点有哪些

更新时间:2023-10-01
C#是一种常用的面向对象编程语言,在编程中,面向对象的编程思想是非常重要的。在本文中,我将介绍与C#中面向对象相关的一些知识点。 ### 类与对象 在C#中,类定义了对象的属性和方法,它是对象的一个模板。在C#中,类是使用`class`关键字定义的。下面是一个简单的类的定义示例:
public class Person
{
    private string name;
    private int age;
    public void SayHello()
    {
        Console.WriteLine("Hello, I'm {0}. My age is {1}.", name, age);
    }
}
在这个示例中,我们定义了一个Person类,它有两个私有字段`name`和`age`,并且有一个公开方法`SayHello`。我们可以创建一个Person对象来访问这个方法:
Person person = new Person();
person.SayHello(); // Output: Hello, I'm . My age is 0.
### 封装 封装是面向对象编程中的一个概念,它指的是将对象的实现细节隐藏起来,只让外部可以通过公共接口来访问对象的功能。C#中,可以使用访问修饰符将字段和方法设为公有或私有,从而实现封装。在下面的示例中,我们将Person类的字段设为私有,只有通过方法才能获取和修改字段的值:
public class Person
{
    private string name;
    private int age;

    public string GetName()
    {
        return name;
    }

    public void SetName(string name)
    {
        this.name = name;
    }

    public int GetAge()
    {
        return age;
    }

    public void SetAge(int age)
    {
        this.age = age;
    }

    public void SayHello()
    {
        Console.WriteLine("Hello, I'm {0}. My age is {1}.", name, age);
    }
}
在这个示例中,我们将`name`和`age`字段设为私有,但是通过公开的方法`GetAge`、`SetAge`、`GetName`和`SetName`,我们可以访问和修改这些字段的值。 ### 继承 继承是面向对象编程中的另一个概念,它指的是从一个现有类中派生出新的类。在C#中,可以使用冒号(:)符号来指定一个类继承自另一个类。在下面的示例中,我们定义了一个从Person类派生出来的Student类:
public class Student : Person
{
    private string major;

    public string GetMajor()
    {
        return major;
    }

    public void SetMajor(string major)
    {
        this.major = major;
    }

    public void Study()
    {
        Console.WriteLine("I'm studying {0}.", major);
    }
}
在这个示例中,我们定义了一个`Student`类来派生自`Person`类。`Student`类有自己的字段`major`,并且有自己的方法`Study`。但是,由于`Student`类继承自`Person`类,所以它也拥有`Person`类的属性和方法。下面是一个使用继承的示例:
Student student = new Student();
student.SetName("Tom");
student.SetAge(20);
student.SetMajor("Computer Science");
student.SayHello();
student.Study();
在这个示例中,我们创建了一个`Student`对象,并且使用了从`Person`类继承来的`SetName`、`SetAge`和`SayHello`方法,以及`Student`类自己的`SetMajor`和`Study`方法。 ### 接口 接口是C#中另一个重要的概念,它定义了一组方法和属性,但并没有实现它们。一个类可以实现一个或多个接口,从而让这个类具有接口中定义的功能。在C#中,可以使用`interface`关键字来定义一个接口。下面是一个简单的接口定义示例:
public interface IShape
{
    double GetArea();
    double GetCircumference();
}
在这个示例中,我们定义了一个名为`IShape`的接口,它有两个方法`GetArea`和`GetCircumference`。一个实现了`IShape`接口的类必须实现这两个方法。 下面是一个实现了`IShape`接口的类的示例:
public class Rectangle : IShape
{
    private double width;
    private double height;

    public Rectangle(double width, double height)
    {
        this.width = width;
        this.height = height;
    }

    public double GetArea()
    {
        return width * height;
    }

    public double GetCircumference()
    {
        return 2 * (width + height);
    }
}
在这个示例中,`Rectangle`类实现了`IShape`接口,它必须实现`GetArea`和`GetCircumference`方法。`Rectangle`类通过实现这两个方法来定义矩形的面积和周长。 在本文中,我们介绍了C#中面向对象的一些知识点,包括类和对象、封装、继承和接口。这些知识点是C#中面向对象编程的基础,掌握它们对于编写高质量的代码来说非常重要。