C# 面向对象

1.面向对象和基于对象

基于对象:IDE系统提供了很多对象供你使用,但你不可以派生出自己的类来,只能使用系统已经提供的类来创建对象,比如:VB6.0,JavaScript

面向对象:系统提供了一些类,但考虑到不够使用,允许你自己派生/定义自己的类,利用多态与虚函数,通过基类指针指向派生类对象,实现通用函数就像使用系统提供的类一样来使用自己的类,如:C /Delphi/C#/Java等等

“面向对象”和“基于对象”两个不同的概念。面向对象的三大特点(封装,继承,多态)却一不可,通常“基于对象”使用对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说“基于对象”没有继承的特点,而“多态”是表示为父类类型的子类对象实例,没有了继承的概念也就无从谈论“多态”。

“面向对象”和“基于对象”都实现了“封装”的概念,但是面向对象实现了“继承和多态”,而“基于对象”没有实现这些

2.面向对象

(一),为什么需要面向对象

生活中所有的东西都是一个个的对象(万物皆对象),为了描述他们方便,我们就用面向对象的方法来解决

(二),什么是面向对象编程

根据具体的实际生活,设计相对应的类或对象出来,按照生活中的流程或逻辑来操作程序中的类或对象,这样更直观更方便。

参考:
https://blog.csdn.net/lucas_0817/article/details/79370118

面向对象:是从"对象"出发去思考的,面向对象认为事情都能够抽象的,抽象是什么?在小学语文中,那称之为总结,提炼(把想要归类的东西,提取一些共同的属性和方法(其实就是特征,以及行为))
例如:
抽取 人(特征:眼,耳,口,鼻 行为:睡觉,吃饭,刷牙)
对象: 男人 女人

那么面向对象有什么好处?为什么会出来这种思维呢?

那要提到面向过程了

面向过程:就是从过程出发,去思考问题的.

例如我想要 鲜榨橙汁.面对过程思维去编写程序的话就是---
榨橙汁  [1.先要有橙子  2,把橙子放进去榨汁机,3找杯子 4.用杯子去装橙汁]("注意为什么用[  ]去括起来")

这样一个榨橙汁程序就写好了,不过有个缺点就是,如果当我想榨苹果汁怎么办?榨橙子已经打包成一个不可分割的程序了(这就是为什么用[ ]包裹起来),重新再写一个榨苹果汁呗

榨苹果汁  [1.先要有苹果  2,把苹果放进去榨汁机,3找杯子 4.用杯子去装苹果汁]

这样就显得非常多余重复,因为有些只要有需求变更,程序就要重新写过了,为了解决这种低效率的(提高复用性)事情,采用对象的思维就好很多了

面向对象:
这个过程当中,出现的物品有:苹果(橙汁),榨汁机, 两样东西(杯子不做讨论),把他们都抽取对象

1.关于苹果(橙子)

抽象 水果

对象 苹果 橙汁

2.关于榨汁机

抽象 机器[行为:榨汁(水果)]

对象 榨汁机

面想对象的程序中:

  1. 找到苹果/橙子

  2. 放进榨汁机(苹果/橙子)

  3. 榨出相对应的汁(苹果/橙子)

这样程序的代码量就写少很多了,因为每次我需要用到榨汁机,我直接使用榨汁机,然后把相对应的水果代码放进就好了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值