黑马程序员_Java基础笔记(面向对象1)

来源:互联网 发布:网络社会零售额 编辑:程序博客网 时间:2024/06/03 10:27

--------- android培训java培训、期待与您交流! ----------

面向对象编程

<1>编程设计的三问

1.做软件,写代码究竟是在做什么?软件设计的本质或者说需要解决的最本质的问题时什么?

做软件,写代码,无非就是要把现实生活中的事情通过计算机或网络来完成,但又不能完全按照现实中的事情来做,所以要把现实生活中的东西抽象到计算机程序中。要将一些事物的共性找出来加以概括和抽象。程序设计者要做的事情就是“抽象”,所以在软件设计中,最本质的东西就是“抽象”。

2.应该抽象什么?

既然任何软件开发都是在做抽象,那么就应该考虑抽象什么,如何抽象。其实很多例子可以带来启示。计算机世界的每样东西都是从现实世界中抽象出来的。

例如:文档编辑器,其实就是现实生活中的文本。

  网络中的E-mail,就是现实中的信件。

  网络中的BBS,就是现实中的公告板。

  它们都是编程人员对现实的抽象得来的。

抽象有两种: 一种是对数据的抽象。

                      一种是对业务逻辑的抽象。

3.那应该以什么样的抽象为导向呢?

即在开发过程中是拿数据去包含业务逻辑,还是用业务逻辑去包含数据。这就是需要解决以哪种抽象为导向的问题。

面向过程是以过程,也就是以业务逻辑的抽象为导向的。

面向对象,是以数据抽象作为导向的,数据就是一个一个的对象,定义的类实际上是一个数据类型,而数据类型里包含方法,方法就是业务逻辑,是可以顺序执行的代码块。所以,在面向对象的编程设计中,使用数据封装了业务逻辑。

Java中看到的只是类,Java代码就是由若干个类组成的。在Java中,对象与对象之间的数据访问时间接的,是通过接口进行的,接口隐藏了函数和数据类型的实现。

<2>面向对象的特点

面向对象的思想,最大的特点就是更客观地反映了现实世界,使变成分析,设计和实现的方法与客观世界的过程相一致。

同一类的事物会被人们进行抽象,作为一种概念存在。比如人们认识到了一个事物是汽车,就会形成一个汽车的概念。

面向对象技术从组织结构上模拟客观世界,对客观世界的对象进行抽象并将其映射到软件中,通过对象之间的相互作用来完成工作。

主要特点:

1.对象是人们对现实世界中具有某些相同特性的事物的抽象。

2.对象中包含了一定的属性和方法。

3.对象的属性用来表示其具有的相同信息。

4.对象之间的作用可以通过接口完成。(这里接口指类对外提供的public方法)

面向对象思想的优点:

1.单个对象的功能单一,简单,而多个对象各司其职,各尽所能,可以健壮地完成软件的要求。

2.弱耦合性。对象的耦合性,是对象与对象之间,对象与系统之间的联系。对象的耦合要尽可能的弱。

3.可重用性。对象的功能越简单,耦合性越弱,可重用性就越好。

4.可扩展性。当系统中加入新的对象或替换原来的对象时,系统仍然可以保持稳定。

--------- android培训java培训、期待与您交流! ----------

原创粉丝点击