需求一:用手机打电话,发短信,看视频,听音乐,用面向对象思想实现;
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; /** * 分析【人开门】: * 开门/关门 等 这些行为/功能 肯定是门最清楚(门轴/弹簧怎么操作),所以具体开门的行为/功能是门在做,而谁让门打开呢? 是人 */ /** * 描述门🚪 */ class Door { /** * 描述门的行为/功能 --> 开门 */ public void openDoor() { System.out.println("开门"); } /** * 描述规则:注意⚠️ 只描述我们需要的,不能全部描述,否则描述不完的,太多了 * ...... */ } /** * 描述人 */ class Person { /** * 描述门的行为/功能 --> 去---> 门.开门 * @param door 注意:⚠️ 此参数融入了真实生活场景,你要开哪个门,就把哪个门传给我 */ public void toOpenDoor(Door door) { door.openDoor(); } /** * 描述规则:注意⚠️ 只描述我们需要的,不能全部描述,否则描述不完的,太多了 * ...... */ } /** * 需求三:人开门 */ public class OopDemo05 { public static void main(String[] args) { /** * 之前两步重点是描述对象,而现在是创建/实例化/ --> 对象/实体 */ new Person().toOpenDoor(new Door()); } }
                    
                
                
            
        
浙公网安备 33010602011771号