博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象的理解
阅读量:5776 次
发布时间:2019-06-18

本文共 1064 字,大约阅读时间需要 3 分钟。

hot3.png

Java中面向对象的理解:

面向对象是一种设计程续,部署程序的思路,能将程序中的各个功能细化。有封装,继承,多态三特点:

public class Transformer {

//变形金刚使用的武器接口
private Weapon w;//默认 null 值
/*
* 对成员变量赋值的方法,
* 把接收的武器对象,赋给变量w
*/
public void setWeapon(Weapon w) {
this.w = w;
}
public void attack() {
if(w == null) {
System.out.println("用牙咬~~");
return;
}
//用武器进攻
String type = "";
switch(w.getType()) {//向w接口发送getType()调用指令
case Weapon.TYPE_COLD:
type = "冷兵器";
break;
case Weapon.TYPE_HEAT:
type = "热兵器";
break;
case Weapon.TYPE_NUCLEAR:
type = "核武器";
break;
}
//向w接口发送getName()调用指令
System.out.println(
"使用"+type+w.getName()+"进攻");
//向w接口发送kill()调用指令
//由具体接入的武器来执行这个方法
w.kill();
}
}
然后
public interface Weapon {
//public static final 可以省略
int TYPE_COLD  =1;
int TYPE_HEAT  =2;
int TYPE_NUCLEAR =3;
//public abstract 可以省略
void kill(); 
String getName();
int getType();
}
public class Ak47 implements Weapon{
@Override
public void kill() {
System.out.println("ˣǹ");
}
@Override
public String getName() {
return "Ak47";
}
@Override
public int getType() {
return Weapon.TYPE_HEAT;
}
}

转载于:https://my.oschina.net/yourpapa/blog/621598

你可能感兴趣的文章
三元表达式之理解/jquery源代码分析之$.inArray实现
查看>>
STM32 mdk软件仿真时过不去时钟的问题
查看>>
Spark Streaming概念学习系列之Spark Streaming容错
查看>>
单例模式
查看>>
用友网络陈强兵:企业互联网需解决五大问题
查看>>
SMA推出Powerwall兼容Sunny Boy Storage逆变器
查看>>
云路由 vyatta 体验(二)NAT
查看>>
Python version 2.7 required, which was not foun...
查看>>
centos7.3 下安装 composer,解决Failed to decode zlib stream错误
查看>>
Git 常用命令
查看>>
在Postgres 数据库中生成36位的UUID代码
查看>>
小黑小波比.功能测试登录用户
查看>>
Java enum用法详解
查看>>
去云端的多条途径
查看>>
Docker容器从一知半解到入门
查看>>
关于“方法参数”
查看>>
Redis命令总结
查看>>
unable to write 'random state'错误解决
查看>>
context:annotation-config vs component-scan
查看>>
结构体和类的内存对齐原则-这一次弄清楚了对齐的本质规则
查看>>