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

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. Json数据处理协议与办法

    [JSON学习]     一.概述     JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文 本格式,是理想的数据交换格式.同时,J ...

  2. Rsync同步设置的一例

    以下文档于2014-12-10更新   先在服务端操作 #wget http://pkgs.repoforge.org/rsync/rsync-3.0.9-2.el6.rfx.x86_64.rpm # ...

  3. Spring 注解原理(三)@Qualifier @Value

    Spring 注解原理(三)@Qualifier @Value Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) 一.Aut ...

  4. jmeter对需要登录的接口进行性能测测试

    只需要一步: https://www.testwo.com/blog/7253

  5. IPV6修复工具

    https://www.cnblogs.com/ysugyl/p/9000940.html

  6. firefox 之 event兼容写法

    event 在 IE 和 FF(Firefox) 中是不兼容的,IE 中可以直接使用 event 对象,而 FF 中则不可以,解决方法之一如下: var event = window.event || ...

  7. msgs no .h file

    1.单独编译包,catkin_make --pkg 包名,failed,则 2.进入build下对应的msgs包中,使用make,以及make install,failed,则 3.使用catkin_ ...

  8. Svn项目管理工具

    1       svn介绍 1.1     项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对代码文件.配置文件.文档等没有进行版本控制,将会出现很多问题: 备份多个版本,占用磁盘空间大 解 ...

  9. vue 开发系列(六) 企业微信整合

    概述 手机端程序可以和企业微信进行整合,我们也可以使用企业微信JSSDK功能,实现一些原生的功能. 整合步骤 在整合之前需要阅读 整合步骤. http://work.weixin.qq.com/api ...

  10. CButton控件

    1. CButton等控件一般有两种方式创建,一是在资源视图中添加,一是在代码中使用成员函数Create()进行动态创建.如果是第一种那么添加Button变量同样在资源视图中实现,右击Button控件 ...