C#基础【八】面向对象的特性(封装,继承,多态)

本文深入探讨了C#中的封装、继承和多态三大面向对象编程特性。封装使数据和方法结合为单一元素,控制数据存取。继承允许类从另一个类派生,共享属性和行为。多态表现为一个接口,多个功能,分为静态和动态多态性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、封装

C#中可使用类来达到数据封装的效果,这样可以使数据与方法封装成单一元素,以便于通过方法存取数据。除此之外,还可以控制数据的存取方式。
在面向对象编程中,大多数都是以类作为数据封装的基本单位。类将数据和操作数据的方法结合成一个单位。设计类时,不希望直接存取类中的数据,而是希望通过方法来存取数据。这样就可以达到封装数据的目的,方便以后的维护升级,也可以在操作数据时多一层判断。
此外,封装还可以解决数据存取的权限问题,可以使用封装将数据隐藏起来,形成一个封闭的空间,然后可以设置哪些数据只能在这个空间中使用,哪些数据可以在空间外部使用。一个类中包含敏感数据,有些人可以访问,有些人不能访问,如果不对这些数据的访问加以限制,后果将会非常严重。所以要对类的成员使用不同的访问修饰符,从而定义他们的访问级别。

封装语法:

Public 数据类型   变量名
{
   get
{
   return 变量名
}
set
{
   变量名=value;
}
}

二、继承

继承是面向对象最重要的特性之一。任何类都可以从另外一个类继承,这就是说,这个类拥有它继承类的所有成员。在面向对象编程中,被继承的类称为父类或基类。C#中提供了类的继承机制,但只支持单继承,而不支持多继承,即在C#一次只允许继承一个类,不能同时继承多个类。

继承语法:

 Public  class 类名:父类名


如何使用父类里面的成员变量,方法,构造函数?
关键字:base

成员变量:
base.成员变量名
方法:
base.方法名

三、多态

多态性意味着有多重形式。
在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"。
多态性可以是静态的或动态的。
在静态多态性中,函数的响应是在编译时发生的。
在动态多态性中,函数的响应是在运行时发生的。

1.静态多态性

在编译时,函数和对象的连接机制被称为早期绑定,也被称为静态绑定。C# 提供了两种技术来实现静态多态性。
分别为:
1.1方法重载:
可以在同一个范围内对相同的方法名有多个定义。
方法的定义必须彼此不同,可以是参数列表中的参数类型不 同,也可以是参数个数不同。
不能重载只有返回类型不同的方法声明。

1.2运算符重载

2.动态多态性

当有一个定义在类中的函数需要在继承类中实现时,可以使用虚方法。
2.1:虚方法是使用关键字 virtual 声明的。
2.2:虚方法可以在不同的继承类中有不同的实现。
2.3:对虚方法的调用是在运行时发生的。
2.4:动态多态性是通过抽象类和虚方法实现的。

定义虚方法:

访问修饰符  virtual  返回的数据类型/void   方法名()
{
	//执行代码,也可以完全不写
}
重写父类的方法(子类中):
访问修饰符 override 返回的数据类型/void   方法名()
{
   //执行代码
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值