Java 案例 - 猫和狗(界面版)
最编程
2024-05-04 07:18:35
...
一、需求:对猫跟狗进行训练,加入跳高功能,采用抽象类和接口实现,并创建测试类测试
二、分析:
1.定义接口(Jummping)
成员方法 跳高();
/*定义跳高接口
* */
public interface Jumpping {
public void jump();
}
2.定义抽象动物类(Animal)
成员变量为姓名,年龄;无参有参构造方法;成员方法:get/set方法,eat()
/*定义抽象类
* */
public abstract class Animal {
private String name;
private int age;
//定义无参构造方法
public Animal(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//定义有参构造方法
public Animal(String name ,int age){
this.age= age;
this.name= name;
}
//定义成员方法
public abstract void eat();
}
3.定义具体猫类(cat),继承动物类,实现跳高接口
无参有参构造方法;成员方法 重写 eat()、jump();定义特有方法 play()
/*定义具体猫类继承动物类
* */
public class Cat extends Animal implements Jumpping {
public Cat() {
}
public Cat(String name,int age) {
super(name,age);
}
//重写吃饭方法
@Override
public void eat() {
System.out.println("猫吃饭");
}
@Override//重写接口方法
public void jump() {
System.out.println("猫跳高");
}
//定义成员方法
public void play() {
System.out.println("玩耍");
}
}
4.定义具体狗类(dog),继承动物类,实现跳高接口
无参有参构造方法;成员方法 重写 eat()、jump();定义特有方法 play()
/*定义具体狗类,继承抽象动物类
* */
public class Dog extends Animal implements Jumpping {
//定义无参构造方法
public Dog() {
}
//定义有参构造方法
public Dog(String name, int age) {
super(name,age);
}
//定义成员方法
public void play() {
System.out.println("狗玩耍");
}
//重写接口方法
@Override
public void jump() {
System.out.println("狗跳高");
}
//重写吃饭方法
@Override
public void eat() {
System.out.println("狗吃肉");
}
}
5.定义测试类(AnimalDemo)测试
/*动物测试类
* */
public class AnimalDemo {
public static void main(String[] args) {
//使用多态创建猫类对象
// Animal a = new Cat();
// a.name = "小猫";
// a.age = 18;
// System.out.println(a.name + a.age);
// a.eat();
// 向下转型,调用猫类特有方法
// Cat c = (Cat) a;
// c.jump();
// c.play();
// 创建对象调用猫类
Cat c=new Cat("加菲",18);
System.out.println(c.getName()+c.getAge());
c.eat();
c.jump();
c.play();
System.out.println("--------------------------------------------");
// 创建对象调用猫类
Dog d = new Dog();
d.setName("小狗");
d.setAge(180);
System.out.println(d.getName()+d.getAge());
d.eat();
d.jump();
d.play();
}
}
原文地址:https://www.cnblogs.com/CYan521/p/16016845.html
上一篇: [深度]关于机器学习的精彩入门文章
下一篇: 6-4 猫和老鼠有多重
推荐阅读
-
Java 案例 - 猫和狗(界面版)
-
iCloud 切换区域,中国区保留 appStore(更新)--自 2018 年 2 月 28 日起,中国区 iCloud 由云上贵州管理 苹果公司发布的公告 https://support.apple.com/zh-cn/HT208352 关键词 关键部分 受影响的 iCloud 账户:国家或地区设置为 "中国 "的 Apple ID。 iCloud 包含的服务照片、邮件、通讯录、日历、提醒事项、备忘、书签、钱包、钥匙串、云备份、云驱动器、应用程序数据 新条款和条件: 同意仅出于本协议允许的目的并在中国法律允许的范围内使用服务。 云桂洲在提供服务时应使用合理的技能并尽职尽责,但在适用法律允许的最大范围内,我们不保证或担保您通过本服务存储或访问的任何内容不会意外损坏、崩溃、丢失或根据本协议的条款被删除,如果发生此类损坏、崩溃、丢失或删除,我们不承担任何责任。您应自行负责维护您的信息和数据的适当备份。 Apple 和云上贵州有权访问您存储在服务中的所有数据,包括有权根据适用法律相互之间共享、交换和披露所有用户数据(包括内容)。 本协议的解释、效力和履行应适用*法律。对于因本协议引起的或与本协议有关的任何争议,云桂洲和您同意提交中国国际经济贸易仲裁委员会(CIETAC)根据提交仲裁时有效的法律在北京进行具有约束力的仲裁。 由云桂洲管理,用户选择: 停用; ID 到地区; 受 iCloud(由云桂洲运营)条款和条件约束 首先,我想说说我对数据安全的看法。 当我在朋友圈发布通知时,有些朋友回复说国外的操作并没有多安全,或者国外的安全只是相对于国外而言的等等。首先,我非常感谢这些朋友,这让我反思什么是数据安全。以下观点均属个人观点: 国外的月亮一定比国内圆? 这是一个根深蒂固的问题,只要有人说国外的东西比国内好,就会有人嘲笑崇洋媚外。我觉得我们在某些方面应该向国外学习,比如搜索引擎和版权问题。打开百度搜索 "数据安全",第一行肯定是广告。打开谷歌搜索 "数据安全",第一条就是 "数据安全_百度百科" .....各种版权问题大家都明白,支持正版,但不仅客户一心想找免费破解,就连作者也往往没有保护自己劳动成果或产品的想法。但从另一个层面来说,国内的发展和安全,甩国外几条街。没有说哪里好,哪里不好,辩证地去学习更好。 国外也有别有用心的数据泄露,谈何安全? 从加密解密的角度看,自古以来就没有绝对安全的加密,只有相对安全的做法。苹果的棱镜门、微软的 cpu 漏洞,各种参差不齐的被破解案例 ....是的,这的确是一个很好的论据,但凡事都不能只看一面,当年苹果面对FBI破解手机的要求,几经论证,苹果还是拒绝破解。这点拿到国内,只要上面的文件传达下去,还有企业敢说不吗?还敢说不吗? 关于这次iCloud数据迁移个人看法? 把数据迁移到贵州的云端,相当于把手机的所有数据都存储在贵州的云端服务器上。也许访问数据的速度会快很多,但我会把我的iCloud区放到美国,因为我不想数据存在云上贵州后经常接到莫名其妙的电话或短信,更不想因为乱用国外服务器而被请去喝茶。iCloud一个ID,即从中国账号转到美国区,主要用于数据存在美国服务器上。appStore一个ID,除了注册一个中国ID外,专门用来下载应用用,因为国外ID不支持酷狗和网易云等应用。麻烦的是,用了新的 appStore ID 后,当前的应用还得重新下载安装,因为旧的应用 ID 与新的应用 ID 不兼容,安装不了。最后,iCloud迁移后,国内用户使用美国服务器,估计要 "扶墙 "了。 专业步骤: 首先,进行appleID设置,这是前提条件,否则无法选择转移区域! 取消 appleID 的双重认证 取消家庭共享选项 二、窗口下载并安装 icloud 3.0 版