面向对象(一)

来源:互联网 发布:淘宝流量钱包兑换 编辑:程序博客网 时间:2024/06/08 19:05

一、面向过程和面向对象。

面向过程思想:就是所有过程都是需要自己完成,每个细节都需要完成。

面向对象思想:就是在一个对象中已经有相应的方法和实现过程,而我们只需要获取到对象就可以了,具体过程无需自己实现。
还是举个例子解析一下
例如:洗衣服这件事。
面向过程就是如下:先放水,然后就是放洗衣液,接着手洗衣服,最后晾起来。
而面向对象的思想的做法就是:找个女朋友(对象),将衣服给她(对象里有洗衣服的相关方法)就可以了,其余都不用管了。哈哈哈

面向对象的实际表现

首先编程的目的把我们日常生活中的实物用学习语言描述出来。
而现实世界的事物主要也是包括(属性,行为)。

属性—描述该事物的描述信息(事物身上的名词)

行为—该事物能做什么(事物身上的动词)

JAVA编程的思想也是如此,java中的class描述事物主要也是包括

成员变量—->属性
成员方法—->行为

类:表示一组相关的属性和行为的集合。(名词:手机)
对象;是该类事物的具体表现。 (代表:具体某款真实手机的一个对象)

面向对象的思想特点:

A、是一种更符合我们思想习惯的思想B、可以将复杂的事情简单化C、将我们**从执行者变成了指挥者**

面向对象开发

不断的创建对象,使用对象,指挥对象做事情。

面向对象的特征:

    封装,继承,多态。

1,封装

  • 概述:是指隐藏对象属性和实现细节,仅对外提供公共访问方式.

    • 封装的好处:
      隐藏实现细节,提供公共的访问方式.
      提高了代码的复用性
      提高安全性

    • 封装的原则
      将不需要对外提供的内容都隐藏起来把属性隐藏,提供公共方法对其访问.

    • 封装和private的注意事项
      1,把成员变量用private修饰,对外提供对应的getxx()和setxx()方法
      2,private仅仅是封装的一种体现形式,不能说封装就是私有.

2,继承

  • 概述:让类与类之间产生关系,子父类关系
  • 好处:

    • a:提高了代码的复用性
    • b:提高了代码的维护性
    • c:让类与类之间产生了关系,是多态的前提
  • 弊端:

    • 类的耦合性增强了。
  • 开发的原则:高内聚,低耦合。(自己能完成的事情,就不麻烦别人了.)

    • 耦合:类与类的关系
    • 内聚:就是自己完成某件事情的能力

什么时候使用继承

* 继承其实体现的是一种关系:"is a"。

java中的继承特点

* 1,java只支持单继承,不支持多继承。(一个儿子只能有一个爹)* 2, 如果想用这个体系的所有功能用最底层的类创建对象* 3,如果想看这个体系的共性功能,看最顶层的类 

注意事项

  • a:子类只能继承父类所有非私有的成员(成员方法和成员变量)
  • b:子类不能继承父类的构造方法,但是可以通过super关键字去访问父类构造方法。
  • c:不要为了部分功能而去继承

  • d:子父类同名的成员变量(就近原则)

  • e:子类中所有的构造方法默认都会访问父类中空参数的构造方法(* 每一个构造方法的第一条语句默认都是:super() Object类最顶层的父类。)

    • 因为子类会继承父类中的数据,可能还会使用父类的数据。
    • 所以,子类初始化之前,一定要先完成父类数据的初始化。

    • 其实: 每一个构造方法的第一条语句默认都是:super() Object类最顶层的父类。

  • f: super(…)或者this(….)必须出现在构造方法的第一条语句上

  • g:父类默认都会有一个空参构造函数,但是如果父类有一个有参构造时,编译器就不会提供空参构造,这时一般需要自己重新写一个空参构造.
0 0
原创粉丝点击