zl程序教程

您现在的位置是:首页 >  后端

当前栏目

面向对象,结合C#的初次总结

c# 总结 结合 面向对象 初次
2023-09-14 08:57:15 时间
pre span > 面向对象,这个张口闭口都离不开它的一个话题。从刚开始学第一门编程语言VB时,对象这个概念就一直和我们相伴。从那以后,直到现在,面向对象的概念从未离开过我们的学习视野,不管是前段时间的软件工程或是UML,还是这段时间的C#,我们一次次与它相遇。 面向对象,这部分的学习,在学软工视频的时候就想拿个专章来把它总结一次,可是,总觉得自己理解得还很肤浅,也写不出个所以然来。今天,在学C#视频,其中也拿了个专章又把面向对象给我们详细讲解了一遍,其中还用实例代码给我们加深理解。 面向对象,初次总结,就从此处起航。 回顾第一学年学习的VB语言,准确的来说,它是基于对象,面向过程的一门语言。刚开始确实不太理解,只是知道对象的范围很广泛,从生活中看,可以是一个人,也可以是一件事。在亲身经历学生信息管理系统和机房收费系统后,看着那一行行自己敲出的代码,对于面向过程的理解有了些许前进。换言之,为了实现两个系统的功能,我们都需要将其转换为一行又一行的代码,按照过程,逐步编写。 第一,不管哪一门编程语言,面向对象的其中的一些概念还是最首要也是最基本的。
 其中,类与对象首当其冲。

 看了很多资料,也从很多不同的角度思考过,还是觉得从问题出发,自己的理解最为深刻。

 第一个问题,“这个世界是由什么组成的?”对于这个问题,不同的人会有不同的回答。一个化学家可能会说,世界是由分子和原子等等不同化学物质组成的;一个画家可能会说,世界是由不同的颜色组成的;一个社会学家可能会说,世界是由一个个人组成的;一个分类学家可能会说,世界是由不同类型的物与事组成的......作为一名程序员,从计算机编程的角度看,分类学家的答案可能更符合自己的口味。所以说,我们应该站在分类学家的角度看问题。这个世界应该是由动物、植物等组成的,动物又分哺乳动物、爬行动物和两栖动物等。哺乳动物又分为人、老虎、大象等。

 第二个问题,“什么是人类?”站在抽象的角度来看,人类都具有相同的一些行为或是特征,如每个人都有自己的年龄、性别等属性特征,而人与动物的区别,主要是人具有可以劳动、直立行走等行为特征。“人类”只是一个抽象的概念,是一个不存在的实体。但是所有具备“人类”这个群体的属性与方法的对象都叫人!这个对象“人”是实际存在的实体!每个人都是人这个群体的一个对 象。

 第三个问题,老虎为什么不是人?因为它不具备人这个群体的属性与方法,老虎不会直立行走,不会使用工具等等!所以说老虎不是人!

 从上面的三个问题看,也就很容易理解类和对象了。总言之,类描述了一组有相同特性(属性)和相同行为(方法)的对象。因此,对象的抽象是类,而类的实例是对象。

 方法,是指对象的行为。对于一个电话,它可以有接听、挂断等不同的方法。

 方法重载,是指对于不同的数据执行相似的功能。可以用于实现对于不同数据的处理。其中,参数可能不同,返回的类型可能不同,但方法名称必须相同。其实从字面上也很容易理解,即利用同一方法的重复运用,作用的对象不同而已,其中不含继承关系。
 还有一个和它很相似的概念,那就是方法重写,它是指子类的方法覆盖父类的方法,要求方法名和参数都相同。从字面上理解,即重写之中包含一种继承关系。
 接口,生活中的接口有很多,像各种开关,它可以帮助我们实现对象的功能。在C#中,一个类可以实现多个接口。对于这个概念,自己理解的还不是很清楚,也许在敲实例的过程中会有更深的理解。
 构造函数,感觉这个很陌生,在学习VB的时候也没有听说过。在C#中,它也是面向对象学习中的一部分。

 构造函数,是一种特殊的方法。简单的说,是用来给类实例化的对象赋予初始值,并且每一个类都有一个构造函数。

 析构函数,是用于执行清除操作的特殊方法。不能重载,每个类只有一个析构函数。

  第二,对于面向对象的三个基本特征的了解。C#视频中给我们的讲解都很生活化,让我们容易理解了许多。

 1.封装。像电视机的遥控器,它就像是封装好的一个黑盒子,可以让我们调频道,具体它的内部是怎么运作的,我们并不知道。结合编程来看,VB中我们经常使用的各种控件,只需要从工具箱中拖拽到窗体就可以使用,它们也是经过封装的。C#中,用于输出的Console.WriteLine也是封装好的。封装的好处很多:减少耦合,可以自由修改类的内部实现,具有清晰的对外接口等。

 2.继承。像电视机的发展,从黑白到彩色,到高清晰,到3D,其中图像和声音的功能一直延续。结合编程来看,创建一个派生类(DerivedClass),它将继承基类(BaseClass)的特性。在C#中,一个类最多只允许从一个类中派生。也就是通常所说的单重继承。

 3.多态。像洗衣机根据衣服量的多少确定时间与次数。准确来说,多态是同一操作作用于不同对象,有不同的解释,产生不同的执行结果。
 第三,学习心得。
 对于C#的学习,自然而然地就想到了很长一段时间的VB学习。同样是一门编程语言,一定会有共通之处。不管怎么样,有了VB的基础,还是增强了一些动力的。现在C#视频也快接近尾声了,在这之中,感觉很乱,可能是没有边看视频边敲实例,对于其中的编程实例演示看起来很费劲。所以,还是得抓紧时间动手敲实例才能帮到自己吧。在实践中,一定会收获更多,更加深刻的理解面向对象,更加清楚的看到它与VB的相似与不同之处。

 

十一、详解面向对象[下] 原型对象其实也是普通的对象。几乎所有的对象都可能是原型对象,也可能是实例对象,而且还可以同时是原型对象与实例对象。这样的一个对象,正是构成原型链的一个节点。因此理解了原型,那么原型链并不是一个多么复杂的概念。 我们知道所有的函数都有一个叫做toString的方法。那么这个方法到底是在哪里的呢? 先随意声明一个函数:
十一、详解面向对象【上】 如果要我总结一下学习前端以来我遇到了哪些瓶颈,那么面向对象一定是第一个会想到的。尽管现在对于面向对象有了一些的了解,但是当初那种似懂非懂的痛苦,依然历历在目。 为了帮助大家能够更加直观的学习和了解面向对象,我会用尽量简单易懂的描述来展示面向对象的相关知识。并且也准备了一些实用的例子帮助大家更加快速的掌握面向对象的真谛。
那些你熟悉而又陌生的函数 五层境界 我不知道我不知道 我知道我不知道 我知道我知道 我不知道我知道 第三层境界以上的兄台,可以直接离开了。 至于第五层境界,无需知道还是不知道。 废话不多说,进入正题,一起探索那些你熟悉和又陌生的函数。