java基础(九)对象和类(面向对象的思考)

1.1 为对象定义类

类为对象定义属性和行为。

面向对象程序设计(OOP)使用对象进行程序设计。每个对象都有它的状态属性和行为动作。使用一个通用类来定义同一类型的对象,类是一个蓝本用来定义对象的数据域以及方法。对象是类的实例,可以从一个类中创建多个实例(实例化)。Java类使用变量定义数据域,使用方法定义动作。类通过构造方法(对象的初始化动作)来创建实例对象。

1.1.1 统一建模语言(UML)

面向对象程序设计(OOP)就是使用对象进行程序设计。每个对象都有自己独特的标识、状态和行为。

类的模板和对象的图示可以使用统一建模语言(UML)的图形符号进行标准化

类图格式:

 

 

1.1.2 类是一个引用变量

本质上来说,类是一个引用类型,意味着声明一个类的一个变量就引用该类。(例如:Circle myCircle =  new Circle()  声明一个变量myCircle是Circle对象的一个引用值,并将它的引用:new Circle() 赋给变量myCircle,变量myCircle中放的是对Circle对象的引用)从表面上看,对象引用变量中似乎存放了一个对象,但实际上只是存放了对该对象的引用。但一般情况下这种差异可以忽略。跟数组同理。

引用变量:定义或预定义的类(非基本数据类型)声明的变量都是引用变量,例如String类是预定义的Java类,如果一个引用类型的数据域没有引用任何对象,那么这个数据域就有一个特殊的Java值:null。但是Java没有给方法中的局部变量赋默认值,要小心空指针错误哦。

每个变量都代表了一个保存了存储值的内存位置,声明一个变量就是在告诉编译器这个变量可以存放什么类型的值。

基本类型变量和引用数据变量的区别:

基本类型变量:对应内存存储的值是基本类型值

引用数据变量:对应内存存储的值是一个引用,即对象的存储地址(若拿它赋值,赋的也是地址值,所以指向同一个对象)

 

1.1.3 不可变类 

当一个类的私有变量没有公有方法对它进行操作,那么这个类就变成了不可变类。

关键字this引用此刻对象自身。

 

2.1 面向对象的思考——类的抽象和封装

类抽象是将类的实现和使用分离开,实现的细节被封装并且对用户隐藏(类的封装)

类的抽象:类的创建者描述类的功能,让使用者知道如何使用类(类的合约)——接口,通过合约信息使用该类。

类的封装:里面是类的具体实现。

2.1.1  类的关系——关联

关联是一种常见的二元关系,描述两个类之间的活动。

UML中:例如如下三个类(对象)之间的一种关联5~60个学生学习Course,一个学生可以学习无数个Course,他们之间的关系是Take,1个老师教0~3个学生。

2.2.1 类的关系——聚合和组合(ER图中的属性)

聚集是关联的一种特殊形式,代表了两个对象之间的归属关系。聚集对has-a关系进行建模(例如:一个学生有一个名字)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值