05.面向对象的解析

1编程语言的发展

1.1  面向机器的语言:计算机在设计之初就要确定好每一条指令对应的线路逻辑,即需要针对不同的机器编写不同的指令(例如01011100的指令),这样的语言是不利于编写和阅读的。后来出现的汇编语言,本质上还是属于机器语言,只是汇编语言用易于记忆的的符号来代替二进制指令,但还是要根据不同的机器来编写不同的代码。我们习惯上把这两种归纳为机器语言,这属于低级语言。

1.2  面向过程的语言:20世纪60年代出现了面向过程的语言,入c语言、FORTAN语言等,这类语言把代码和组织成被称为过程或函数的块。每过块的目标是为了完成某个任务。在使用这些语言编写的代码指令时,不必考虑机器的细节,只要按照该语言规定的语法要求去编写代码。但随着软件工程的发展,面向过程的语言也逐渐暴露了自身的不足,人们向往能够编写出易于维护,易于扩展和重复易用,以及符合人类的逻辑思想的程序代码,由于以上种种所以出现了面向对象的语言。面向过程语言和面向对象语言本质上的不同在于“对象”这一概念,在现实生活中,行为往往归纳于某个具体的“主体”所拥有,即“对象”。

1.3  面向对象的语言:随着计算机硬件设备的提高,使得人们可以忽略基于面向对象语言所需消耗的内存和对cpu的要求。基于对象的编程更加符合人的思维模式(对象的概念),编写的出易于维护,易于扩展和易复用的程序代码。

2     面向对象语言的特点:

2.1  封装性:一种将抽象性函式的实作细节部分包装、隐藏起来的方法。面向对象的核心思想之一就是将数据(属性)和对数据的操作(方法)封装在一起,通过抽象,即从具体的实例中抽取共同的性质形成一般的概念,比如类(抽取某类事物所拥有的特点,封装在一个类里)的概念。例如一个手机具有屏幕、cpu、电池等等,我们把其抽出来作为属性;手机具有上网,打电话的行为,我们把其抽取出来作为方法。

2.2  继承性:继承体现了一种先进的编程模式,子类可以继承父类的属性和功能,既继承了父类所具有的数据和对数据上的操作,同时又可以增添了子类所独有的数据和对数据上的操作。即继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。

2.3 多态:面向对象有两种意义上的多态,其一是操作名称的多态,即有多个操作具有相同的名字,但这些操作所接收的消息类型必须不同。所谓操作名称的多态性,是指可以象操作传递不同的消息,一边让对象根据相应的消息来产生一定的行为。其二与继承有个的多态,是指同一个操作被不同类型的对象调用时可能产生不同的行为。一种叫声,如果是猫则发出喵喵喵的叫声;如果是狗,则会发出汪汪汪的叫声。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值