【JavaSE系列-基础篇2】——面向对象编程概念之类
来源:互联网 发布:域名转让协议 编辑:程序博客网 时间:2024/06/08 07:03
类是创建对象的原型或者蓝图。本节定义了一个类,用于对现实世界对象的状态和行为进行建模。它有意地集中在基础上,显示一个简单类的状态和行为。
在现实世界中,你经常会发现许多独立的对象都是一样的。可能有成千上万的自行车存在,所有的都是相同的型号和品牌。每个的自行车都是有相同的蓝图或者是包含相同的组件创建的。在面向对象的术语中,我们说你的自行车是自行车物体的一个实例。类是创建单个对象的蓝图。
以下的自行车类是自行车的一种可能实施方式:
class Bicycle { int cadence = 0; int speed = 0; int gear = 1; void changeCadence(int newValue) { cadence = newValue; } void changeGear(int newValue) { gear = newValue; } void speedUp(int increment) { speed = speed + increment; } void applyBrakes(int decrement) { speed = speed - decrement; } void printStates() { System.out.println("cadence:" + cadence + " speed:" + speed + " gear:" + gear); }}
Java编程语言的语法对于你来说可能是新的,但是类的设计是基于在前面的自行车对象章节中讨论过了。节奏,速度和档位代表着对象的状态,方法(提高速度,改变档位,改变节奏)定义与外界的交互。
你可能注意到了,自行车类,不包含main方法。这是因为它不是一个完成的应用程序。这只是可能在一个应用程序中用到的自行车的蓝图。创建和使用自行车对象的职责属于你的应用程序中的其他类。这里有一个BicycleDemo类,创建了两个独立的Bicycle对象,并调用他们的方法:
class BicycleDemo { public static void main(String[] args) { // Create two different // Bicycle objects Bicycle bike1 = new Bicycle(); Bicycle bike2 = new Bicycle(); // Invoke methods on // those objects bike1.changeCadence(50); bike1.speedUp(10); bike1.changeGear(2); bike1.printStates(); bike2.changeCadence(50); bike2.speedUp(10); bike2.changeGear(2); bike2.changeCadence(40); bike2.speedUp(10); bike2.changeGear(3); bike2.printStates(); }}
该测试的输出打印两辆自行车的踏板节奏,速度和档位:
cadence:50 speed:10 gear:2cadence:40 speed:20 gear:3
阅读全文
0 0
- 【JavaSE系列-基础篇2】——面向对象编程概念之类
- 【JavaSE系列-基础篇1】——面向对象编程概念之对象
- 【JavaSE系列-基础篇3】——面向对象编程概念之继承
- 【JavaSE系列-基础篇4】——面向对象编程概念之接口
- 【JavaSE系列-基础篇5】——面向对象编程概念之包
- javaSE编程基础(面向对象)
- Scala学习—面向对象编程之类
- JavaSe基础XX05——面向对象
- JavaSe基础XX06——面向对象
- JavaSe基础XX07——面向对象
- JavaSe基础XX08——面向对象
- JavaSe基础XX09——面向对象
- JavaSE(java编程基础,面向对象)
- JavaSE面向对象之类与对象
- JavaSE 拾遗(2)——JavaSE 面向对象程序设计语言基础(2)...变量
- JavaSE 拾遗(2)——JavaSE 面向对象程序设计语言基础(2)...变量
- JavaSe基础XX10——面向对象——[多态]
- 黑马程序员——javase基础--面向对象
- gdb调试器基本使用方法(入门)程序如果已经宕掉如何调试
- c泛型编程--栈
- js-单例模式
- POJ1364 KING
- Tomcat下前端使用vue-resource向后台servlet发送数据中文乱码
- 【JavaSE系列-基础篇2】——面向对象编程概念之类
- jsp 一个简单的计数器
- 图像特征匹配总结
- java研发博客点击量
- 自定义控件之手势识别器的使用
- imagenet 数据集准备
- Intellij IDEA生成serialVersionUID
- MATLAB实现闭环传递函数与状态空间之间的相互转换
- solr的facet查询