面向对象技术

前言:

今天在学习UML的时候再一次学习到了面向对象技术这个概念,所谓存在即为合理,而反复存在一定是经验性总结性经验性的东西,我们可以对他反复赋用。又一次学习了面向对象的概念,从VB开始接触,然后到软件工程,再到UML,不断的反复强调,反复学习。

学习过程:



是什么:

       面向对象(Object Oriented,OO)是软件开发方法,面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面,应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶断的产物

对比

1.审视问题的视角:

        面向过程:将依附于客体之上的行为抽取出来,以功能为目标来设计构造应用系统。它将描述客体的属性和行为分开,使得应用程序的日后维护和扩展相当困难,甚至一个微笑的变动,都会波及到整个系统。

        面向对象:对客体进行操作,这些操作依附在客体之上并能用来设置、改变和获取客体的状态,让这些客体之间相互驱动、相互作用,最终实现每个客体按照设计者的意愿改变其属性状态。

2.抽象级别

    
    
    


方法

抽象级别

抽象内容

面向过程

过程抽象

问题域中具有明确功能定义的操作

面向对象

数据抽象

客体的属性和行为

3.封装体

        面向过程:封装了各个功能模块,这些功能模块可以随意地对没有保护能力客体属性实施操作,并且因为属性与行为割裂,所以一旦属性变化,那么可能整个系统就会变化。

        面向对象:将客体的属性与行为绑定在一起封装到逻辑单元内,外界对客体属性的访问只能通过接口进行实现。只要用户接口不变,那么封装体内的任何改变都不会对系统的其他部分造成改变。

基本概念


(1)对象

对象是我们要研究的任何事物,无论是简单的事物还是复杂的事物都可以看做是一个对象,他不仅能表示具体的事物,还能表示抽象的规划、计划或事件

对象具有状态(数据值)和行为(改变状态的操作)

对象之间的通信结构叫做消息。在消息操作中至少要包括接受消息的对象名,发送给对象的消息名(对象名,方法名)

例如:我们在发快递的时候要写上接收者的姓名(对象名)同时还要选择快递的方式以及什么快递(消息名)

(2)

类是具有相同状态(数据值)和行为(功能)的对象的抽象。

类具有属性(状态的抽象)和操作(行为的抽象)

类分为“或”关系和“与”关系

    类的操作实现过程叫做方法。

(3)对象和类的关系


特点:

(1)唯一性

每个对象都有自身唯一的标识,在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。

例如我们的身份证号,我们在上户口的时候每个人的身份证号码都是唯一的,我们的姓名可能会重复,但是身份证号是唯一标识我们的东西。

(2)抽象性

抽象是指将将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是一种抽象,它反应了有关的重要性质,而忽略了次要性质,从对象中抽出最本质的东西。

例如我们将所有能够被我们食用的东西抽象成食物,包括具体的苹果、梨、黄瓜、西红柿等具体事物,它从这些具体的事物中抽象出了最本质的特征—食用,每个苹果、梨就是一个对象,而食物就是一个类

(3)继承性

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。

在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。

比如我们的遗传就是对继承性的一个最好的阐释,我们在出生的时候由于基因的遗传所以我们会带有一些父母的特征,同时我们也会在这些特征上不断发展,如果我们只是遗传了一方的特点,那么就是单重继承,如果我们继承了父亲和母亲不同的特点,那么我们就是多重继承。

(4)多态性(多形性)

多态性是指相同的操作或函数,过程可作用于多种类型的对象上并获得不同的效果。

比如上课时老师讲的内容是一样的,但是每个人对于老师讲课的理解程度是不同的,对于同一消息产生了不同的结果。

(5)封装性(信息隐藏)

封装性指将对象进行封装成类,并对类进行定义与实现。

总结:

面向对象技术是一个现在应用非常广泛的技术,学习好面向对象技术就是为了我们的UML以及以后的编程语言打下基础,虽然初始面向对象技术,但是以后还会与其打更多的交道。


评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值