需求一:用手机打电话,发短信,看视频,听音乐,用面向对象思想实现;

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-面向对象的代码例子的更多相关文章

  1. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  2. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

  3. 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

    [重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder   1.String String是Java中的一个final ...

  4. 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符

    [重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符   1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...

  5. 【Java学习笔记之十三】初探Java面向对象的过程及代码实现

    理解Java面向对象的重要知识点: 一. 类,对象 类?首先举一个例子:小李设计了一张汽车设计图,然后交给生产车间来生产汽车,有黑色的.红色的.白色的... 这里,汽车设计图就是我们说的类(class ...

  6. 2016-2017-2 20155339《 java面向对象程序设计》实验四Android程序设计

    2016-2017-2 20155339< java面向对象程序设计>实验四Android程序设计 实验内容 1.Android Stuidio的安装测试: 参考<Java和Andr ...

  7. 2062326 齐力锋 实验四《Java面向对象程序设计Android开发》实验报告

    北京电子科技学院(BESTI) 实 验 报 告 课程: 程序设计与数据结构  班级: 1623  姓名: 齐力锋 学号: 20162326 成绩: 指导教师: 娄嘉鹏/王志强 实验日期: 2017年5 ...

  8. JAVA学习前十天:小结、面向对象之”扑克牌“例子

    2016年4月26号正式步入JAVA学习课堂,学习了第一节JAVA课程,由于以前有C语言基础,所以课程有点快! 第一天:学习了教材的第一部分,第一部分总共两章,分别是JAVA简介和JAVA基础语法. ...

  9. # 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封装 ...

  10. 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封装 ...

随机推荐

  1. [SoapUI] Property Expansion in soapUI

    1. Property Expansion in soapUI SoapUI provides a common syntax to dynamically insert ("expand& ...

  2. Spring IOC(四)FactoryBean

    Spring IOC(四)FactoryBean Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) 一般情况下,Spring ...

  3. Two Sum IV - Input is a BST LT653

    Given a Binary Search Tree and a target number, return true if there exist two elements in the BST s ...

  4. Permutation Sequence LT60

    The set [1,2,3,...,n] contains a total of n! unique permutations. By listing and labeling all of the ...

  5. tolua杂记

    1 字符串调用luaFunc  :DoString public class CallLuaFunction : MonoBehaviour { private string script = @&q ...

  6. activiti 清库脚本(转)

    在使用activiti 的时候会经常遇到需要清空数据库中的数据,因此本文重点讲解如何解决该问题. 再删除数据的时候,需要注意有主外键约束的问题?下面罗列的DDL可以结合自身的业务需求进行灵活改造. D ...

  7. dedecms 安装后 管理后台ie假死 无响应的解决方法

    在网站后台(我的是dede)uploads/emplets/index_body.htm中找到并注释掉以下代码: <script type=”text/javascript”>functi ...

  8. Git使用基础篇(zz)

    Git使用基础篇 您的评价:          收藏该经验       Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体 ...

  9. spring学习 八 面向切面编程(AOP)概述

    注:本文大部分参考   --------------------- 本文来自 -望远- 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/yanquan345/artic ...

  10. NOIP2017普及组T1题解

    神奇的链接 上面时题目. 其实不得不说,这一题很水,比2015年的第一题水多了. 直接按题目套公式就行了,当然你也可以像我一样化简一下. 直接看代码: #include<cstdio> # ...