首页 文章 精选 留言 我的

精选列表

搜索[对象模型],共10000篇文章
优秀的个人博客,低调大师

Java 面向对象 之 匿名内部类 警报器

http://www.verejava.com/?id=16992876520663 /** 知识点: 匿名内部类 题目: 摩托车上装有警报器,当有人碰到摩托车时, 警报器发出报警响声 思路: 1. 抽象出类: 1.1 摩托车(Moto),报警器(Alarm), 人(Person) 2. 找出类的关系: 2.1 摩托车上装有报警器 Alarm -> Moto(1对1) 2.2 警报器有不同品牌的分类 Alarm 3. 找出类属性: 3.1 Moto(品牌,报警器的引用) 3.2 Alarm(品牌) 3.3 Person(姓名) 4. 找出类方法: 4.1 摩托车上装有报警器 Moto{load(Alarm alarm)} 4.2 人碰到摩托车 Person{touch(Moto moto)} 4.3 警报器发出响声 Alarm{beep()} */ public class TestMoto2 { public static void main(String[] args) { //准备生产一台南方摩托车 Moto moto = new Moto("南方"); //摩托车上预装一台 小功率的 报警器 Alarm alarm = new Alarm() { public void beep() { System.out.println("有人偷车"); } }; moto.load(alarm); //准备生产一台 嘉陵 摩托车 Moto moto2 = new Moto("嘉陵"); moto2.load(alarm); //这个时候李明过来了 Person p = new Person("李明"); //李明不小心碰到了摩托车, 摩托车发出了报警声 p.touch(moto); p.touch(moto2); } } interface Alarm { //报警器能发出报警声 public void beep(); } class Moto { private String brand;//品牌 private Alarm alarm;//报警器引用 public Moto(String brand) { this.brand = brand; } public Alarm getAlarm() { return this.alarm; } //装载警报器 public void load(Alarm alarm) { this.alarm = alarm; } } class Person { private String name;//姓名 public Person(String name) { this.name = name; } //人触碰到摩托车, 同时摩托车上的报警器发出响声 public void touch(Moto moto) { moto.getAlarm().beep(); } } http://www.verejava.com/?id=16992876520663

优秀的个人博客,低调大师

Java 面向对象 之 多态实例 孩子吃水果

http://www.verejava.com/?id=16992843565554 /** 题目: 孩子吃(苹果,葡萄,芒果) 思路: 1. 抽象出类 : 孩子(Baby), 苹果(Apple),葡萄(Grape) 2. 找出类的关系: 苹果,葡萄 -> 孩子 3. 找出属性: 孩子(姓名,苹果引用,葡萄引用) 苹果(名称) 葡萄(名称) 4. 找出方法: 孩子吃(eat)苹果或者葡萄 */ public class Polymorphism2 { public static void main(String[] args) { //实例化一个Baby Baby baby = new Baby("李明"); //实例化一个苹果 和 一个葡萄 Apple apple = new Apple("红富士"); Grape grape = new Grape("黑葡萄"); Mango mango = new Mango("大芒果"); //李明吃苹果和葡萄 baby.eat(apple); System.out.println(baby.getName() + " 高兴的说我吃了 " + baby.getApple().getName()); baby.eat(grape); System.out.println(baby.getName() + " 高兴的说我吃了 " + baby.getGrape().getName()); baby.eat(mango); System.out.println(baby.getName() + " 高兴的说我吃了 " + baby.getMango().getName()); } } class Baby { private Apple apple; private Grape grape; private Mango mango; private String name; public Baby(String name) { this.name = name; } public String getName() { return this.name; } public Apple getApple() { return this.apple; } public Grape getGrape() { return this.grape; } public Mango getMango() { return this.mango; } //吃苹果 public void eat(Apple apple) { this.apple = apple; } //吃葡萄 public void eat(Grape grape) { this.grape = grape; } //吃芒果 public void eat(Mango mango) { this.mango = mango; } } class Apple { private String name; public Apple(String name) { this.name = name; } public String getName() { return this.name; } } class Grape { private String name; public Grape(String name) { this.name = name; } public String getName() { return this.name; } } class Mango { private String name; public Mango(String name) { this.name = name; } public String getName() { return this.name; } } http://www.verejava.com/?id=16992843565554

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册