【超详细】C#基础-面向对象三大特性:封装、继承

目录

封装

1.核心思想

2.实现方式

3.优点

继承

1.语法

2.特点

3. 为什么需要继承

4.继承中的构造方法

5.什么时候调用构造方法

6.继承的优缺点

6.1优点

6.2缺点

7.注意

8.抽象类

8.1语法

8.2语义

8.3抽象方法

1)语法

2)语义

8.4什么时候适合用抽象类

8.5为什么尽量选择抽象类来继承


       今天来详细学习一下C#面向对象的三大特性:封装、继承。

封装

       封装(Encapsulation) 是面向对象编程(OOP)的一个基本特性,它指的是将对象的状态(字段)和行为(方法)捆绑在一起,并通过控制访问权限来保护对象的内部状态。封装的目的是实现数据隐藏,只允许通过公开的接口与对象进行交互,从而增强了数据的安全性、可维护性和代码的复用性。

1.核心思想

1)隐藏内部实现。对象的内部实现对外界是不可见的,外界只能通过暴露的公开接口与对象进行交互。

2)通过公共方法访问数据。常通过属性(Properties)和方法(Methods)来访问和操作对象的内部数据,而不是直接访问字段。

2.实现方式

       封装在C#中通过使用访问修饰符和属性来实现

       C#提供了以下几种访问修饰符,用于控制类、字段、方法、属性等成员的访问权限。

       public:公开成员,外部代码可以自由访问。

       private:私有成员,仅能在当前类中访问。

       protected:保护成员,派生类可以访问,外部无法访问。

       internal:内部成员,只有在同一程序集(Assembly)内的代码可以访问。

       protected internal:结合了protected和internal,表示派生类和同一程序集中的代码可以访问。

public class Person
{
    //私有字段
    private string name;

    //公共属性,用于访问私有字段
    public string Name
    {
        get { return name; }
        set { name = value; }
    }

    //公共方法
    public void DisplayName()
    {
       Debug.Log($"My name is {name}.");
    }
}

3.优点

1)数据保护:通过封装,可以保护对象的内部状态不被外部直接修改。通过对属性的访问控制,可以确保数据的一致性和有效性。如,可以限制某个字段的值不能被非法修改,或者在设置字段值时添加一些验证逻辑。

2)代码重用:通过封装可以将常用的逻辑集中在类的内部,外部代码不需要关心这些实现细节,从而提高了代码的复用性。

3)降低耦合性:封装可以隐藏实现细节,使得外部代码只需要关注接口(方法、属性等),而不需要知道内部的实现。这降低了代码之间的依赖性(耦合度),提高了系统的灵活性和可维护性。

4)更易于维护:封装使得代码变得更加模块化。如果需要修改类的实现细节,只需修改类内部的代码,而外部的代码不需要修改,减少了维护的难度。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值