1.1类与对象的基础概念

声明

本文章是本人在bilibili视频的学习笔记,视频地址清华大学java语言49讲(郑莉教授)

第二章内容

1.面向对象对象的程序设计方法概述
2.类和对象
3.对象初始化和回收
4.枚举类型

5.应用举例
6.UML简介
7.注解
8.本章小结

面向对象的程序设计

面向对象程序设计与结构化程序设计方法相比,更符合人类认识现实世界的思维方式,这已成为程序设计的主流方向

基本组成单位是类程序在运行时 由类生成的对象,对象是面向对象的核心,类是对同一类对象的统一设计

对象与对象之间,通过发送消息进行通信,相互协作完成相应的功能

主要概念
抽象
封装
继承
多态

对象

程序中一切都是对象,都具有标识(identity)属性和行为

通过一个或多个变量保存其状态
通过方法(method)实现他的行为

现实世界中,万物皆对象,各自具有自己的属性,对外界都呈现各自的行为

如果用面向过程的方法写程序,无法直接地模拟现实世界中的各种对象

(分类的思想)
(用分类的方法抽象出同一类对象的共性)
(抽象出需要的共性,忽略不需要)
将属性以及行为相同或相似的对象归为一类

在面向对象的程序设计中,每个对象都属于某个特定的类

结构化程序设计

通常由若干程序模块组成,每个程序模块都可以是子程序或者函数

结构化程序设计中 数据和功能是分离的,这样代码维护,复用相对困难(对于复杂的项目会出现软件危机,升级维护非常困难)

现实世界中对象的 功能和数据不是分离的

抽象

忽略问题中与当前目标无关的方面,以便更充分地注意与当前目标相关的方面

如钟表可以有各式各样,但基本功能可以表示,小时,分钟,秒

功能:
设置时间
显示时间

封装

1.定义清楚的边界
2.接口
3.受保护的内部实现

一种信息隐藏技术,它是利用抽象数据类型将数据和基于数据操作封装在一起

用户只能看到对象的封装界面信息,对象的内部细节对用户是隐藏的

只需要提供接口(消息机制)来访问对象
(目的:将使用者和设计者分开)
(目的2:为了安全性,实现细节,数据细节不公开)

(现实世界的对象也是封装的)

继承

(super class. basic class) 指新类可以获得已有类(或称超类,基类或父类)的属性和行为,称新类为已有类的派生类(也称子类) (sub class)

在继承基础之上,增加新的功能,或者修改一些功能(修改原有方法,或增加方法)

作用1:
(程序的开发速度,效率更高)
作用2:
(解决软件可重用问题,结构清晰,降低编码和维护工作量)

继承方法和属性(实例变量)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值