C#教程(一):面向对象

发布时间:2023年12月17日

1、介绍

C#是一种多范式编程语言,但其中一个主要的编程范式是面向对象编程(OOP)。面向对象编程有一些特点,而C#提供了丰富的功能来支持这些特点。

2、面向对象特点

  1. 封装(Encapsulation):

    • 封装是将数据和方法捆绑在一起的概念,同时对外部隐藏实现的一部分。在C#中,使用访问修饰符(public、private、protected等)来控制对类的成员的访问。
  2. 继承(Inheritance):

    • 继承是一种通过创建新类并重用现有类的属性和行为的方式。在C#中,使用冒号(:)来实现继承关系。
  3. 多态(Polymorphism):

    • 多态性是指同一个方法可以在不同的类中有不同的实现。C#支持两种类型的多态性:编译时多态性(静态多态性)和运行时多态性(动态多态性)。编译时多态性是通过方法的重载和运算符重载实现的,而运行时多态性则是通过虚方法和接口实现的。
  4. 抽象类和接口(Abstract Classes and Interfaces):

    • C#支持抽象类和接口,它们都是实现抽象和多态性的重要手段。抽象类可以包含抽象方法和具体方法,而接口只能包含抽象方法。
  5. 类和对象(Classes and Objects):

    • C#中的类是用户定义的数据类型,用于封装数据和方法。对象是类的实例,通过类的构造函数创建。类和对象是面向对象编程的基本构建块。
  6. 成员访问修饰符(Access Modifiers):

    • C#提供了不同的成员访问修饰符,如public、private、protected等,用于控制对类的成员的访问。这有助于实现封装。
  7. 属性和索引器(Properties and Indexers):

    • 属性允许类提供对其字段的访问,并允许在访问字段之前或之后执行特定的逻辑。索引器允许类的实例像数组一样进行访问。
  8. 重载和覆盖(Overloading and Overriding):

    • C#支持方法和运算符的重载,使您能够在同一类中定义具有相同名称但不同参数列表的多个方法。此外,通过使用关键字override,子类可以覆盖父类的虚方法。

这些特点使得C#成为一种强大的面向对象编程语言,能够支持灵活、可维护和可扩展的代码设计。

3、示例

创建一个Person类,其中包含nameagegender三个属性

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _02_面向对象复习
{
    public class person
    {
        //字段 属性 方法
        private string _name;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        private int _age;

        public int Age
        {
            get { return _age; }
            set { _age = value; }
        }

        private char _gender;

        public char Gender
        {
            get { return _gender; }
            set { _gender = value; }
        }

        public void SayHello()
        {
            Console.WriteLine("{0},{1},{2}", this._name, this._age, this._gender);
            Console.ReadLine();
        }

    }
}

接着在Program.cs中实例化一个person对象,并给Person的三个属性分别赋值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _02_面向对象复习
{
    class Program
    {
        static void Main(string[] args)
        {
            person p = new person();
            p.Age = 10;
            p.Name = "张三";
            p.Gender = '男';
            p.SayHello();

        }
    }
}

4、运行结果

在这里插入图片描述

文章来源:https://blog.csdn.net/WwLK123/article/details/134992790
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。