Java 面向对象程序设计概述

一、类、创建类的实例、封装、实例域、方法、对象的当前状态

有些关于概念的专业表述还是需要了解透彻的呀:

类是构造对象的模板或蓝图。 由类构造对象的过程称为创建类的实例。

封装,(更形象地说)又称数据隐藏。封装将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。
对象中的数据称为实例域,操纵数据的过程称为方法。 每个类实例(即对象)的实例域值的集合称作这个对象的当前状态。

二、封装与继承

实现封装的关键在于:不能让类中的方法直接地访问其他类的实例域。程序仅通过对象的方法与对象数据进行交互。

封装给对象赋予了类似“黑盒”的特性,这是提高重用性和可靠性的关键。 在Java中,所有的类都源自于一个“超类”——Object。

通过拓展一个类来建立另一个类的过程称为继承(inheritance)。在拓展一个已有的类的时候,这个拓展后的新类具有所拓展的类的全部属性和方法(当然还有适用于这个新类的新数据域和新方法)。

三、对象的三个主要特性

对于只学习过面向过程程序设计(POP)——C语言就是一门典型的面向过程程序语言——的人而言,刚接触面向对象程序设计(OOP)时需要清楚对象的三个主要特性:

  1. 对象的行为——可以对对象施加哪些操作/方法?
  2. 对象的状态——当对对象施加方法时,对象如何响应?
  3. 对象标识——如何辨别具有相同行为和状态的不同对象?

对于同一个类的所有对象实例,它们都支持相同的行为,具有相似性。对象的行为是由可调用的方法定义的。
每个对象都保存着描述当前特征的信息,即对象的状态。对象状态的改变必须经方法的调用才能实现,并不会自发进行(当然了,除非封装性遭到了破坏)。
每个对象的状态常常存在差异,对象们的标识则永远是不同的。

四、设计类

传统的面向过程程序设计中,规定从顶端的main函数开始编写程序。而面向对象程序设计则无此要求。学习OOP,首先要学会设计类,然后往每个类中添加方法。

举个简单的例子:

在设计<订单处理系统>时,你会考虑到这样一些名词:

  • 商品
  • 订单
  • 送货地址
  • 付款
  • 账户

这些可以设计为类。

而这样一些动词:

  • 添加订单
  • 发送/取消
  • 支付

这些将会被设计成相应类的方法。

五、类之间的关系

类之间最常见的关系有:

  • 依赖:一个类的方法操纵另一个类的对象
  • 聚合:一个类的对象包含另一个类的对象
  • 继承:通过拓展一个类来建立另一个类的过程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值