初识对象与类

写在前面:博主在刚接触《软件构造》这门课程时,并没有java相关课程的学习前提,导致学习起来非常吃力,连最基本的对象与类的概念也不理解,这里博主展示一下对象与类的相关知识和自己的理解。

一.类

(1)类的概念:

类是构造对象的模板或蓝图。

(2)识别类:

传统的过程式程序中,必须从顶部的main函数开始编写程序。在面向对象程序设计时没有所谓的“顶部”。学习OOP的初学者比如博主因而常常会感觉无从下手。答案是:首先从识别类开始,然后再为各个类添加方法。

识别类的一个简单经验是分析问题的过程中寻找名词,而方法对应着动词。

例如,在订单处理系统中,有这样一些名词:

①商品;

②订单;

③送货地址;

④付款;

⑤账户;

从这些名词就可以得到类  商品、订单  等。

(3)类之间的关系:

在类之间,最常用的关系有:

①依赖;

②聚合;

③继承;

依赖(dependence),即“uses-a”关系,是一种最明显的、最常见的关系。

聚合(aggregation),即“has-a”关系,很容易理解,因为这种关系很具体。

继承(inheritance),即“is-a”关系,表示一个更特殊的类与一个更一般的类之间的关系。

二.对象

(1)对象的概念:

对象即数据。

(2)对象的主要特性:

①对象的行为(behavior)——可以对对象完成哪些操作,或者可以对对象应用哪些方法?

②对象的状态(state)——当调用那些方法时,对象会如何响应?

③对象的表示(identity)——如何区分具有相同行为与状态的不同对象?

同一个类的所有对象实例,由于支持相同的行为而具有家族式的相似性。对象的行为是用可调用的方法来定义的。

此外,每个对象都保存着描述当前状况的信息。这就是对象的状态。对象的状态可能会随着时间而发生改变,但这种改变不会是自发的。对象状态的改变必须通过调用方法实现(如果不经过方法调用就可以改变对象状态,只能说明破坏了封装性)。

但是,对象的状态并不能完全描述当前状况的信息。每个对象都有一个唯一的标识。例如在一个订单系统中,任何两个订单都存在着不同之处,即使所订购的货物完全相同,他们也是不同的订单。需要注意,作为同一个类的实例,每个对象的标识总是不同的,状态也往往存在着差异。

对象的这些关键特性会彼此相互影响。例如,对象的状态影响它的行为。

在博主刚刚接触java时,很难适应面向对象的编程,在慢慢理解了对象与类的概念以及相关知识,并加以实际操作之后,还是能够完成从面向过程编程到面向对象编程(OOP)的转变的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值