面向对象求解的基本思想

1.面向对象求解的基本思想
在面向对象方法中,以“对象”的概念作为建立“问题空间”与“机器空间”模型的基本元素,
即人们基于现实世界中对象以及对象之间的关联建立问题空间的问题模型,在程序中建立对象
并通过对象之间的互操作机制建立了机器世界问题模型,在程序中建立对象并通过对象之间的
互操作机制建立了机器世界问题模型,从而使问题得以解决。


2.面向对象程序设计方法的内涵
a.程序中所有的事物都是对象
b.程序是一系列对象的组合
c.每个对象都有自己的存储空间,可以容纳其他对象。
d.每个对象都有一种类型。(类最主要的特征是对外接口)
e.同一类型的所有对象都能接受相同的信息。(多态性)

总结:面向对象和核心概念:对象,数据抽象,封装,继承和多态。

 


3.对象与类

对象

1)对象的结构:状态和行为                                                                                                  
(解释:每个对象都有自己专有的内部变量,这些变量的值表示了对象的状态,对象
的行为为对这些变量进行处理,其作用是设置或改变对象的状态)        

2)对象的结构与状态和行为之间的关系
1.对象的方法把对象的内部变量包裹,保护起来,使得只有对象自己的方法才能操作这些
内部变量。

2.对象的方法还是对象与外部环境和其它对象交互,通信的接口,外界对象通过这些接口
驱动对象执行指定的行为,提供相应的服务。

(这个意思就是说外界的对象在该类的方法里面声明,并且在该类方法中调用外界对象的方法)

 

3)深入理解:
对象是具有唯一对象名,固定对外接口的一组变量/属性和方法的集合,用来模拟组成或影响
现实世界问题的一个或一组因素。
其中:
对象名是对象区别于其他对象的标志
对象对外接口是对象与外界通信的通道
对象的变量/属性表示它所处的状态。
对象的操作用来实现对象的特定行为或功能,并改变对象的状态。


4)对象之间的互操作
1.理解:对象之间是通过发送信息进行交互和通信的,这种机制叫消息通信机制,其实现是由3部分组成,信息所属的对象,消息名称,消息所需要的参数。
2.消息通信机制好处:
a.可以支持对象间所有可能的互操作
b.通过信息传递机制不要求互操作的对象在同一个进程甚至在同一台机器上。因此,这种对象互操作机制也是分布式对象互操作的基础。

 

1)概念:类是一种模版或原型,它定义了某种类型所有对象都具有的变量和方法。

2)基于类与对象的面向对象问题求解方法
a.对现实世界的问题域进行语义抽象,从各类对象中抽象出对象类型,得到对象类型之间的关联,形成问题的概念模型。
b.将概念模型转换成类去实现,而类实例化成为对象(该对象为现实世界的面向对象的实体),对象抽象又成了类。
c.现实世界的对象和在程序中的对象是相互影响的。

 

4.封装与数据隐藏
a.封装理解:“公共API”是指对象的对外接口,由对象的方法构成,其他对象通过这些接口向对象发信息,请求对象的服务。
在这种对象结构中,对象的变量与实现构成了对象的内核,对象的方法包裹着对象的内核,使得对象的内核能够对程序中其他
对象隐藏。使用对象的方法将对象的变量与实现保护起来,就称为封装。

 

5.继承
a.父子类之间具有继承关系,子类可以用父类为基础进行定义。

b.子父类的区别:
1.子类往往对父类进行了扩充,增加了新的变量和方法。
2.子类可以改变父类继承而来的方法,即方法的重写。重写意味着子类使用与父类同样的接口,但实现不同的行为。

 

6.多态
a.特点:对外一个接口,内部多种实现
b.多态的类型:

    1)运行时多态:其是面向对象的继承性的基础上建立的,是运行时动态产生的多态性,是面向对象的重要特性之一。

    2)编译时多态:主要通过重载技术实现的,即在一个类中相同的方法名可用来定义多种不同的方法。
c.多态的体现:

   1)上溯造型技术(实现多态的关键技术之一)

   2)下溯造型技术(强转)
d.多态优点:
1.使程序具有良好的可扩展性
2.使程序易于编写,易于维护,并且易于理解


7.晚联编

    多态机制使得程序可以只向类继承体系的基础类发信息,而却可以在运行时得到恰当子类所提供的服务。面向对象的程序设计语言实现多态的技术是动态绑定或晚联编技术。

    在晚联编方式中,当向一个对象发信息时,所调用的代码直到运行时刻才确定。语言的编译器可以保证该方法存在并且执行参数与返回结果的类型检查,但却不知道要执行的准确代码。

    在运行时刻,Java运行系统根据对象变量当时所指向对象的实际类型,调用该对象的相应方法。

    注意:晚联编在Java语言中是默认的方式。

   
8.基于服务的面向对象程序设计思想

    思想:把成品当成对象,将该对象分解成几个子对象,子对象再分解子对象,直到所有的服务都能够直接定义提供这些服务的对象或定位到某种已存在的对象。(抽象)


9.面向对象程序设计的优势
a.可重用性,可扩展性,可管理与维护性。
b.代码重用性的体现:
1.由于使用大量可重用的类库,提高了开发效率,缩短了开发周期,降低了开发成本
2.由于采用了已经被证明为正确,有效的类库,提高了程序代码的可靠性,减少了程序的维护工作量
3.提高了程序的标准化程度。

转载于:https://www.cnblogs.com/lpd1/p/7156607.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值