【超详细】C#基础-面向对象

时间:2024-10-13 12:50:02

目录

1.什么是面向对象?

2.什么是类与对象?

3.常见的编程思想

1)面向对象编程(Object-Oriented Programming, OOP)

2)面向过程编程(Process-Oriented Programming, POP)

4.比较面向对象和面向过程

5.面向对象的主要思想

1)分而治之

2)高内聚,低耦合

3)封装细节

6.面向对象的三大特性

1)封装(Encapsulation)

2)继承(Inheritance)

3)多态(Polymorphism)


       今天来分享一下面向对象的编程思想。主要介绍面向对象的基本概念,区分面向对象和面向过程,了解面向对象的主要思想、三大特性。

1.什么是面向对象?

       面向对象是一种编程思想,将现实世界中的事物抽象成对象,并通过对象之间的交互来解决问题。面向对象的的核心是类和对象。

2.什么是类与对象?

类:抽象的数据类型,定义了对象的属性(数据)和方法(行为),是对象的抽象。
对象:类的实例,是类的具体实现。

3.常见的编程思想

1)面向对象编程(Object-Oriented Programming, OOP)

       面向对象编程是一种以对象为基础的编程思想,类、对象是核心概念。面向对象的核心思想是将数据和操作数据的方法封装在一起,以提高软件的重用性、灵活性和扩展性。


2)面向过程编程(Process-Oriented Programming, POP)

       面向过程编程是一种以过程为基础的编程思想,函数、变量、语句等概念为核心。面向过程编程的基本思想是将程序按照流程分解为一系列的函数或过程,通过函数之间的调用来完成任务。

4.比较面向对象和面向过程

面向对象:性能较差,因为类调用时需要实例化,开销比较大,比较消耗资源;易维护、易复用、易扩展,因为将数据和操作数据的方法封装在一起,提高了代码的复用性。
面向过程:性能好;不易维护、不易复用、不易扩展。

       总而言之,面向对象以类为基础,从对象着手,面向过程以过程为基础,从功能着手,面向对象的开发效率,复用性,维护性好更好。

5.面向对象的主要思想

1)分而治之

       分而治之是一种将复杂问题分解为更小、更易管理的部分的策略。在面向对象编程中,将系统分解为多个独立的模块或类,每个模块或类负责处理特定的任务。通过这种方式,开发人员可以更容易地理解和处理每个部分,从而简化整个系统的开发和维护。

2)高内聚,低耦合

高内聚:指模块内部各个元素彼此结合的紧密程度。一个高内聚的模块或类应该专注于完成一个特定的任务或功能,而不涉及其他不相关的功能。这样可以提高代码的可读性和可维护性,因为每个模块或类的职责清晰明确。
低耦合:指模块之间的关系强度。低耦合意味着模块之间的依赖性较低,一个模块的变化不会对其他模块产生重大影响。这样可以提高系统的灵活性和可扩展性,因为可以在不修改其他模块的情况下对某个模块进行修改或扩展。

3)封装细节

       封装细节是指将类的实现细节隐藏起来,只暴露必要的接口给外部使用。通过封装,可以防止外部代码直接访问或修改类的内部状态,从而提高代码的安全性和稳定性。封装还使得类的实现可以独立于其使用方式进行修改,而不会影响其他部分的代码。

6.面向对象的三大特性

1)封装(Encapsulation)

       封装是指将数据和操作数据的方法捆绑在一起,隐藏对象的内部状态,只通过公共接口与外部进行交互,从而保护数据不被外部直接访问和修改,提高了代码的安全性和可维护性。

public class Member
{
    public string Name { get; set; }
    public int Salary { get; set; } 
    private string Sex { get; set; } //私有属性

    public void SetSex(string sex)
    {
        this.Sex = sex;
    }
}

2)继承(Inheritance)

       继承是指一个类可以继承另一个类的属性和方法,从而避免重复编写代码。子类可以重用父类的代码,并且可以在不修改父类的情况下扩展或修改其功能。

public class Employee : Member //Employee类继承自Member类
{
    public string Department { get; set; } //新增属性Department

    public virtual void DisplayInfo()
    {
        
    }
}

3)多态(Polymorphism)

       多态是指同一行为的不同实现。多态允许不同类的对象对同一消息做出响应。可以通过方法重载和方法重写等来实现,使得代码更加灵活和可扩展。

public class Manager : Employee //Manager类继承自Employee类
{
    public override void DisplayInfo() //重写DisplayInfo方法
    {
        Debug.Log($"Manager: {Name}, Salary: {Salary}, Department: {Department}");
    }
}

       好了,本次的分享到这里就结束啦,希望对你有所帮助~