计算机英语翻译 unit 8 (3)

阅读材料

1.什么是OOP?

OOP就是一个设计原理。她表示的是面向对象程序语言。OOP使用的是不同于过去的老的过程编辑语言的一些程序语言。在OOP中所有对象都会被合理使用。因此,你可以通过四个主要的OOP框架来使用它。
为了清楚的理解面向对象,我们以手为例。手是一个类。你的身上有手对象类型两个,分别是左手以及右手。他们主要的功能就是通过一些你肩膀发出的电信号被控制管理。因此肩膀就是一个接口,你的身体能够通过接口和你的手进行交互。手就是一个很好的主类。手通过细微的改变他的性质被重新使用,用来创建左右手。

2.什么是对象?

一个对象可以被看作是一个能够一些相关活动的事。这些对象能够做的活动被定义为对象的行为。例如,受可以举起来东西或者学生可以有姓名和地址
单纯的在OOP角度来说,一个对象就是一个类。

3.什么是类?

一个类就是一个对象类型的代表。他就是描述一个对象的蓝图/计划/模板。一个类就是一个来自于已经创建的独立的对象。类由三部分组成:名字,属性,操作

public class Student
{
} 

根据上面所给的例子我们可以说,学生是一个对象,命名为对象Student ,所以创建出了学生类。

Student ObjectStudent = new Student();

在现实世界,你能够找到很多相同种类的独立对象。例如,也许存在数以千计的 自行车,都是同样的牌子和型号,每辆自行车都有相同的建设计划。在面向对象的角度,我们说自行车以自行车为对象的类的例子。
在软件中,尽管你没有意识到这点,但是你一直在用类。例如,文本控制,你就已经使用了,由TEXTBOX类组成,定义了他的出现以及功能。每次你拖出一个文本控制框,你就会建立一个新的文本框的类。

如何识别并且设计一个类?

这是一门艺术;每一个设计者都会使用不同的技术来识别一个类。然而,根据面向对象设计原理,有以下五个你必须遵守的原则:
·SRP—单一功能原则-类有且仅有一个,这就是改变的原因。
·OCP—开闭原则—你应该可以扩展一个类的行为在不改变它的情况下。
·LAP—里氏替代原则—派生列必须是可以用他的基础类替换的
·DIP—接口隔离原则—使细粒度的接口是客户端专用的
为了识别一个类是否是正确的,你需要识别扫描系统的所有子功能和操作的全部列表。然后你才能对每个继续对每一个函数进行分组建立类。然而,一个定义好的类必须是函数的集合的有效的组合,应该能再增加整个系统的可延伸性和课维护性的同时具有复用作用。
在软件中,分而治之的概念经常被提及,如果你在最开始就就开始分析整个系统吗,你将会发现他很难管理。所以最好的方式就是识别系统的模型,然后深入每一个模型找出类。
一个软件系统也许包含许多类。但是在某些条件下,你拥有的类是都需要被管理的。想想在一个庞大 的组织里面,他的工作量就需要需要超过上千的员工。为了管理这些劳动力,你就需要有合适的管理政策。相同的技术也能被应用到的软件系统的管理中。为了管理软件系统的类,降低复杂程度,系统设计者就使用一些能够被命名为封装、抽象、继承、多态的技术将其分组。这些概念就是OOP的主要内容,在软件的角度,他们被叫做面向对象的四大概念。

5.什么是封装?

封装就是在一个程序中包含了所有对象所需要的功能的方法。在OOP中封装主要通过创建类来实现,类中显示的是公共的方法与属性。类有点像是一个容器胶囊或者说是细胞,在这里封装了一系列的方法,属性,以及性能,将这些提供给其他需要这些功能的类。在这层意思上,封装也允许改变他自己内部的实现在不破环系统所有功能的情况下。封装会隐藏一个类是怎样实现的但是允许咨询他会做什么。
为了定义或者模块化一个类的功能性,类可以通过另外类以不同的方法用函数或者性能表示。根据OOP有很多技术以及类能够被应用于相互之间的连接并且他们被命名为关联聚合组合。
也有很多封装能够使用的其他方式,例如我们能采用接口的方式。接口可以用来进行隐藏一个类的信息。

IStudent myStudent = new LocalStudent();
IStudent myStudent = new ForeignStudent();

根据以上这个例子可以得知:ForeignStudent, LocalStudent这两个类被接口IStudent实现了。我们能够看出ForeignStudent, LocalStudent这两个类是怎样隐藏他们自己的以及怎样通过接口来实现他们的信息的。

什么是抽象类以及泛化?

抽象强调的是理念、品质和优点,而不是特定的东西。抽象的重要性来自于隐藏不相关的细节以及接口对象名字的使用。在计算机程序中抽象是非常重要的。他将重点定位在对象是谁或者他做了什么而并不是她表示的是什么或者是他是怎样工作的。因此,在比较大的程序中他就是管理程序的首要方法。
抽象通过隐藏不相关的细节来降低复杂度,而泛化降低复杂度就是通过构造出一个单一的抽象来代替具有相似功能的实体。泛化是一个应用的扩展,为了解压一个相同或者不相同类型的对象的包模型。程序语言通过变量,参数化,通用术语以及多态来实现泛化。他的重点在两个相似的对象上。因此,他帮助管理复杂度通过收集个体为组以及提供一个指定组中哪一个个体能够被使用的表示方法。
抽象以及泛化经常被一起使用。抽象泛化是通过参数提供更多的功能。在参数化中,实体的一个或者多个部分都会被一个实体的新名字代替。名字被用作一个参数。当调用参数化抽象时,它是通过参数与参数的绑定调用的。

什么是接口?

总的来说,接口将实现类和定义分离开,这个概念是非常有用的当你需要的接口需要互换时接口除了非常有用外其实现类改变的也非常快。一些人认为在接口的角度来说你应该定义,但是我认为这些建议是有一些极端的。
接口能够被用作一个定义一个通用模板之后一个或者多个抽象类定义部分接口的实现类。接口只能指出声明方法也包含了一些性能。接口定义始于关键字接口。就像是一个抽象类的接口不能被实例化。
如果一个类实现了一个接口在没有定义接口的所有方法之时,她必须声明他的抽象以及通过继承抽象类的子类来提供方法定义,这个接口也能继承其他接口。
下面的例子将会为我们的 loggerBase 抽象类提供一个接口:

public interface ILogger
{bool IsThisLogError{get;}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值