面向对象编程技术


1.概述


         在程序设计的早期程序员要解决的问题简单,程序员专业技术不足,采用的面向过程编程设计,导致编写的代码难以维护。随着编程技术规模越来越庞大,利用面向对象方法来编写管理这些程序变得越来越必要。

1.1过程编程、结构化编程和面向对象编程    

     面向过程的编程方法,其程序是其函数的基础上构建的。这种技术的核心是对构成程序的 函数进行设计、组织和实现。

   

       面向对象的编程方法中,程序提供一种管理极其复杂的技术,实现软件组件的可重用性。面向对象编程的实质将“对象”在为模型,而不是“数据”。用作模型的对象可以是屏幕上界面,如按钮/列表。也可以是现实世界的对象。如牛,马等。

      对象具有特性(如:快、宽敞、褐色、湿度),也具有性能(如加速、飞、叫声等)。在编程语言中描述这些对象是面向对象编程的工作。



2.面向对象的编程通常具备以下特征:

a.模拟真实世界的活动。

b具备用户自定义的类型。

c。隐藏实现的细节。

d。通过继承来重用代码

c。允许不同的功能使用相同的名称。


3理解面向对象技术的四个主要概念.

    理解面向对象技术 的抽象、封装、模块和分层结构四个主要概念后,令我们清晰理解其中的特征。


3.1抽象、封装和模块化之间区别和联系:

       在抽象、封装和模块化之间存在一种协同关系。具有良好定义的逻辑边界的实体格式,封装和模块化有助于抽象周围提供安全性:封装隐藏了实际的细节,而模块化则允许我们将逻辑上相关的抽象分组在一起。所以,封装和模块化确保“干净“的接口对实体的任何用户可用。消息通过这些接口进行传递。从而确保实体的状态。实体的状态是属性以及这些属性当前在任何给定实例上获得值,


3.1 抽象

    面向对象的建模是“抽象”的概念发展而来 ,用来管理真实世界的复杂问题。要求解决方案必须能够解决多元化问题。抽象为解决复杂性问题提供一种理想解决方案,令我们集中于手中主要问题,忽略不需要的细节。要满足客户需求来抽象接口,实现接口,不要凭自己兴趣随意成抽象接口。这是区分面向对象的关键。


     随着对象变得越来越复杂,有必要为用户隐藏对象不重要的细节。每个对象通常有两种状态。函数的原型充当接口,而定义函数的算法就是接口所承诺的的行为的实现。 

   a、接口(interface):向真实世界显现实体时所采取的方法称为“接口”。

  b、实现(implement):帮助实体执行其函数的时所采取的过程称为“实现”


区分面向对象方法:

1.对真实世界进行抽象时,只需对实体




例如:通过堆x的实例来看一下在面向对象的世界中接口和实现意味着什么?


堆x提供操作如下:

1.将一项压入堆x

2.将一项弹出堆x

3.查找堆x中最顶层的一项。

4.检查堆x是否为空


堆x的实体提供的接口表示可以在这些实体上执行的操作。


a.堆x的接口如下:

        void push(stack ,int);

        int pop(stack);

       int  top(stack);

      int isEmpty(stack);  

b.D 堆x的实现包含于高效算法


4.   封装

    能够成为自包容单元的属性称为封装。利用封装实现数据隐藏,可以不了解每个对象的内部工作流程就可以使用它。C++通过创建类支持封装的属性。类的内部工作原理被隐藏,用户只需知道如何使用它,


5.继承和重用

    当a汽车公司要造车时有两种选择:要吗从头开始做起,要吗修改一个现有车型。工程师不想从新设计一款新车,利用strar车型加载一个变速箱和一个涡轮增压器,就变成一款新车。新车命名为Quaaser  ,新车也是star车型的一种,只是增加了新特性(这就是继承旧车的)。

   C++中支持继承。可以说明一个新类型作为旧类型的扩展,这个新的子类从已有类型类型中派生。

例如:Quasar从start派生,它继承了star的所有品质,只是添加新的功能。


6.多态性

对于新车quasser车型踩下油门时作出不同star车型的反应,queer可能喷射燃油并确定涡轮增压器,而start车型让汽油进入化油器。

c++支持这种想法,即通过所谓函数多态性和类多态性不同对象做相同的事,。多态性是指同一个名称的函数和类有多种形式。


  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值