C#的面向对象

1)对象= 算法+数据结构

2)对象的行为已方法的形式定义的,属性以成员变量的形式定义的

面向对象程序设计的特点

1)封装性 2)继承性 3)多态性

知识点:

封装性面向对象的核心思想,将对象的属性和行为封装起来,这个载体就是类。

封装思想保证类内部数据结构的完整性,应用该类的用户不能轻易操作此数据结构,而只能执行类允许公开的数据

继承性

子类的实例都是父类的实例,不能说父类的实例是子类的实例

多态

多态值允许使用相同的接口引用多种实际类型,并根据实际类型来执行对应的方法,通过派生类重载基类中的虚函数方法来实现。将父类对象应用于子类的特征就是多态

多态的实现并不依赖具体类,而是依赖于抽象类和接口

抽象类不能实例化对象,在多态的机制中,父类通常被定义为抽象类,在抽象类中给出一个方法的标准,而不是给出实现的具体流程,实质上这个方法也是抽象的。比抽象类更为方便的方法就是将抽象类定义为接口,由抽象方法组成的集合就是接口。

多态的实现方法:

1)方法的重载overloading 在同一个类中定义多个名称相同,参数列表不同的方法。

2)方法的重写overriding 派生类中使用override关键字重写基类中的虚方法

3)虚方法:基类中使用virtual生命并在派生类中使用override关键字重写的方法

4)接口多态:多个类可以实现相同的接口,从而提供统一的操作。

相关推荐
唐青枫13 分钟前
别再手写 args[0]:C#.NET CommandLineParser 命令行工具实战详解
c#·.net
运维行者_30 分钟前
企业带宽监控工具实战:网络流量分析与异常排查的5个关键能力
运维·服务器·开发语言·网络·分布式·后端·php
Patrick在香港32 分钟前
Python爬虫框架实战:优雅抓取香港政府公开API数据的通用方案
java·开发语言·爬虫·python·ai编程·数据可视化·可用性测试
hey_sml41 分钟前
MySQL常用操作速记:从字符集到游标全解析
java·开发语言·mysql
广东程序猿小展41 分钟前
《007初露锋芒》风灵月影13项修改器下载 007初露锋芒修改器使用方法
开发语言·javascript·ecmascript
LccKyI1 小时前
C#学习day06(方法/函数及其关键字,附思维导图)
经验分享·学习·c#
菜冻鱼1 小时前
Python-sklearn-特征工程
开发语言·人工智能·python·机器学习·numpy·matplotlib·sklearn
.Peter1 小时前
.NET/WPF 程序在部分 Windows 电脑无法保存用户环境变量:使用 DPAPI 实现安全兼容
windows·信息安全·c#·.net·wpf·环境变量·dpapi
吴声子夜歌2 小时前
正则指引——PHP
开发语言·正则表达式·php
Claire_882 小时前
企业文件管理系统选型技术框架与主流产品对比分析
开发语言·php