C#面向对象概述
c# 概述 面向对象
2023-06-13 09:11:59 时间
早期的程序实际上就是一连串对计算机下达的指令,例如求解第 N 大的质数,或联立计算若干个方程的解。
由于问题实际上都是数学问题,所以主要的矛盾在算法设计上,而变量通常都是简单的数据类型,例如整数和小数等。
随着时代的发展,计算机应用于各行各业中,而不再是研究所和科学家的专利。此时,就需要用程序来表示更多实际生活中的对象,例如一个订单、一件产品等。
这些对象千变万化,各不相同。但是,我们都可以将它抽象为一个拥有若干属性和方法的抽象自定义变量。
例如订单拥有属性创建时间、过期时间等,产品拥有属性产品名、产品等级、产品价格等。为了配合计算机描述这种抽象变量,面向对象程序设计(Object-oriented Programming, OOP)的语言提岀了类的概念。
类可以多次被实例化,实例化后的产物叫做对象,如下图所示。
![类和对象](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/07/20/20210720_60f63dc0a710d.gif)
实际生活中,例如 产品类型 被实例化就相当于制造了一个新产品。
前面已经提到过,类是一个可以包含 0 或者多个成员的类型,这些成员可以是常量、字段、属性、方法等。
通过引入类,面向对象语言可以更加准确的模拟实际社会生产生活的各种事件。
面向对象的三大特性是:
1) 封装 (encapsulation)类可以将它的成员私有化,只暴露它认为应当暴露给外界的成员。通过私有化成员,外界不必了解这些成员的实现细节。
单词 capsule 有胶囊之意,encapsulation 即为 使成为胶囊 的意思。
2) 继承 (inheritance)子类可以继承父类,从而简单地自动实现父类所有的成员,并增加自己的成员。
通过方法的重写和隐藏,子类还可以修改父类的行为。继承是面向对象程序设计代码复用能力的一种体现。
3) 多态 (polymorphism)实际上是继承的一种特殊情况,此时,子类一定会复写父类的行为(通常父类没有提供代码)。
对于相同的方法,不同类型的子类有着不同的实现。接口和抽象类都是多态的体现。
词根 morph 代表形状,前缀 poly 则为 多 的意思。
通常认为面向对象程序设计有如下的好处:
相关文章
- c#数组赋初值_C#数组初始化
- java restsharp_RestSharp 一个.NET(C#)的HTTP辅助类组件「建议收藏」
- c# 多线程并发-金三银四面试:C#.NET面试题高级篇2-多线程
- c#面试题抽象类和接口的区别-金三银四面试:C#程序员经常遇到的30道基础面试题,想你所想
- C#应用Newtonsoft.Json操作json详解编程语言
- 把jQuery的each(callback)方法移植到c#中
- C#连接db2数据库的实现方法
- C#运算符大全_各种运算符号的概述及作用
- C#中把日志导出到txt文本的简单实例
- C#正则表达式分解和转换IP地址实例(C#正则表达式大全c#正则表达式语法)
- C#字符串内存分配与驻留池学习分享
- c#唯一值渲染实例代码
- C#删除文件夹和文件到回收站示例
- C#基本概念列举详解
- C#递归查找树状目录实现方法
- C#采用FileSystemWatcher实现监视磁盘文件变更的方法
- 基于C#实现的木马程序实例详解
- C#中单例的实现方法