Android-Java-面向对象的代码例子
需求一:用手机打电话,发短信,看视频,听音乐,用面向对象思想实现;
package android.java.oop01; /**
* 1.既然是面向/面对 --> 对象 就要把 (用手机打电话,发短信,看视频,听音乐)描述对象/实体
* 2.Phone手机 为什么是定义Phone手机,因为Phone手机包含了[打电话,发短信,看视频,听音乐] 这些行为和功能
*/
class Phone{ /**
* 打电话的行为/功能
*/
void call(){
System.out.println("打电话的行为/功能");
// ......
} /**
* 发短信的行为/功能
*/
void sendMsg() {
System.out.println("发短信的行为/功能");
// ......
} /**
* 看视频的行为/功能
*/
void lookVideo() {
System.out.println("看视频的行为/功能");
// ......
} /**
* 听音乐的行为/功能
*/
void hearMusic() {
System.out.println("听音乐的行为/功能");
// ......
} // ......
} /**
* 需求一:用手机打电话,发短信,看视频,听音乐,用面向对象思想实现;
*/
public class OopDemo03 { public static void main(String[] args) { /**
* 3.注意:不能去面向 打电话,发短信,看视频,听音乐 这些功能/行为,而是面向对象
*/
Phone phone = new Phone(); /**
* 执行对象里面的方法
* 手机.打电话
* 手机.发短信
* 手机.看视频
* 手机.听音乐
*/
phone.call();
phone.sendMsg();
phone.lookVideo();
phone.hearMusic(); } }
需求二:黄天工作室里有50位穿着黑色衣服的程序员正在疯狂的写代码
package android.java.oop01; /**
* 1.首先面向最大的哪个对象,描述最大的哪个对象(工作室) 因为工作室包含了程序员
*/
class Studio { private Studio(){} public Studio(String studioName, int number) {
this.studioName = studioName;
this.number = number;
} /**
* 描述工作室的名称 例如:黄天
*/
private String studioName; /**
* 描述工作室的员工数量 例如:35名程序员 / 4名领导 ...
*/
private int number; /**
* 描述工作室的行为/功能
*/
public void work(Programmer programmer) {
System.out.println("黄天工作室里有" + number + "位" + programmer.doCode());
} /**
* 工作室还有很多行为,例如:员工离开工作室,员工进入工作室 等等
* ....
*/
} /**
* 2.描述程序员这个对象/实体
*/
class Programmer { private Programmer(){} public Programmer(String color) {
this.color = color;
} /**
* 描述程序员穿的衣服颜色
*/
private String color; /**
* 描述程序员的行为
*/
public String doCode() {
return "穿着" + color + "黑色衣服的程序员正在疯狂的写代码";
} } /**
* 需求二:黄天工作室里有50位穿着黑色衣服的程序员正在疯狂的写代码
*/
public class OopDemo04 { public static void main(String[] args) { /**
* 之前两步重点是描述对象,而现在是创建/实例化/ --> 对象/实体
*/
Studio studio = new Studio("黄天", 50);
studio.work(new Programmer("黑色"));
} }
需求三:人开门
package android.java.oop01; /**
* 分析【人开门】:
* 开门/关门 等 这些行为/功能 肯定是门最清楚(门轴/弹簧怎么操作),所以具体开门的行为/功能是门在做,而谁让门打开呢? 是人
*/ /**
* 描述门Android-Java-面向对象的代码例子的更多相关文章
- 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现
088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
- 【重走Android之路】【Java面向对象基础(三)】面向对象思想
[重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinkin ...
- 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder
[重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder 1.String String是Java中的一个final ...
- 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符
[重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...
- 【Java学习笔记之十三】初探Java面向对象的过程及代码实现
理解Java面向对象的重要知识点: 一. 类,对象 类?首先举一个例子:小李设计了一张汽车设计图,然后交给生产车间来生产汽车,有黑色的.红色的.白色的... 这里,汽车设计图就是我们说的类(class ...
- 2016-2017-2 20155339《 java面向对象程序设计》实验四Android程序设计
2016-2017-2 20155339< java面向对象程序设计>实验四Android程序设计 实验内容 1.Android Stuidio的安装测试: 参考<Java和Andr ...
- 2062326 齐力锋 实验四《Java面向对象程序设计Android开发》实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程: 程序设计与数据结构 班级: 1623 姓名: 齐力锋 学号: 20162326 成绩: 指导教师: 娄嘉鹏/王志强 实验日期: 2017年5 ...
- JAVA学习前十天:小结、面向对象之”扑克牌“例子
2016年4月26号正式步入JAVA学习课堂,学习了第一节JAVA课程,由于以前有C语言基础,所以课程有点快! 第一天:学习了教材的第一部分,第一部分总共两章,分别是JAVA简介和JAVA基础语法. ...
- # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结
095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)
094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
随机推荐
- BZOJ 1969 航线规划 - LCT 维护边双联通分量
Solution 实际上就是查询 $u$ 到 $v$ 路径上 边双的个数 $ -1$. 并且题目仅有删边, 那么就离线倒序添边. 维护 边双 略有不同: 首先需要一个并查集, 记录 边双内的点. 在 ...
- 20165213 java学习第一周
20165213 -2018-2<Java程序设计>第一周学习总结 教材学习内容总结 java的四个特点:面向对象.平台无关性.动态性.简单. java编写程序步骤:再有jdk的情况下,先 ...
- Hive 系列(一)安装部署
Hive 系列(一)安装部署 Hive 官网:http://hive.apache.org.参考手册 一.环境准备 JDK 1.8 :从 Oracle 官网下载,设置环境变量(JAVA_HOME.PA ...
- 服装类Web原型制作分享——Rodd & Gunn
Rodd & Gunn是国外知名的服装类品牌,服装种类繁多,有衣服.帽子.穿戴饰品等. 本原型由国产Mockplus(原型工具)和iDoc(智能标注,一键切图工具)提供. 网站原型以图文排版为 ...
- Map 概述
map定义:将键映射到值的对象.key必须唯一,但是value可以重复.当你添加相同key的值的时候,value会被覆盖. 与之前的collection有什么区别呢? A:Map 存储的是键值对形式的 ...
- 关于Rigidbody,Collider和CharacterController三者之间的关系和用法的总结
Rigidbody:多用在“物体”上,因为“物体”都是“死”的,他们的运动一般都是靠物理系统.所以对于Rigidbody的移动,不要用Translate(),要用各种“力”, 比如:Rigidbody ...
- Python开课复习-10/16
import random # random 随机数模块 # print(random.random()) #----float 大于0且小于1之间的小数# print(random.choice([ ...
- CAS 单点登录 服务器整合
概述 现在企业内部的系统越来越多,如果各个应用都有自己的用户系统,那么用户将不得不要记住不同系统的用户名密码,因此独立的用户系统应运而生,各个系统之间通过单点登录的方式,这样内部只需要记住一个用户名和 ...
- Codeforces Round #524 (Div. 2) F. Katya and Segments Sets(主席树)
https://codeforces.com/contest/1080/problem/F 题意 有k个区间,区间的种类有n种,有m个询问(n,m<=1e5,k<=3e5),每次询问a,b ...
- IntelliJ IDEA 2017版 编译器使用学习笔记(七) (图文详尽版);IDE快捷键使用;IDE代码重构(编写高质量代码)
一.重构 重构变量:将语义模糊的变量名称改为更易理解的名称 修改变量名称,快键键 shift + F6 (输入要改的名字,所有位置相同的名字都会改变) 重构方法 ...