0
点赞
收藏
分享

微信扫一扫

第10java作业

奔跑的酆 2022-04-30 阅读 46

1.什么是多态:

程序运行过程中:

 

package com.damu;//包名
/**
*父类
*/
public class Father{//父类
public Integer regNo;//定义一个Integer类型的变量
public String name;//定义一个字符串
public String gender;//定义一个字符串
public Integer age;//定义一个Integer类型的变量
public String job;//定义一个字符串
public void working(){//定义一个方法
System.out.println(this.name+"在工作中....");//输出信息
}
}
public class Son extends Father {//定义一个子类并继承父类
public void playGame(){//定义一个方法
    System.out.println(this.name+"在游戏中....");//输出信息
}
    public static void main(String[] args) {//主方法
        Son son=new Son();//创建一个对象
        //操作属性
        son.name="李白";//继承
        //操作方法
        son.working();//继承
        son.playGame();//自有
    }
    
 
}

运行结果如下:

/**
 * 系统用户:父类
 * @author 86157
 *
 */
public class SystemUser {//类名
public String username;//账号
public String password;//密码
public String name;//姓名
public String gender;//性别
public Integer age;//年龄
public String regNo;//身份证号码
public String phone;//手机
public String email;//邮箱
public String address;//地址
public SystemUser(){}//一个方法
    public SystemUser(String username,String password,String name){//定义一个方法并传入三个字符串类型的参数
        this.username=username;//调用成员变量并赋值
        this.password=password;//调用成员变量并赋值
        this.name=name;//调用成员变量并赋值
    }
}
/**
 * 系统管理员
 * @author 86157
 *
 */
public class Manager extends SystemUser {//类名
 
 
}
/**
 * 医师
 * @author 86157
 *
 */
public class Doctor extends SystemUser {//类名
public String department;//部门
public String offices;//科室
}
/**
 * 医护
 * @author 86157
 *
 */
public class Nurse extends SystemUser{//定义一个类并继承父类
//部门
    public String department;//定义自己的属性
}

 继承:基于类型的控制

final关键字:最终的类型,不可以继承和重写 但可以重载

import java.util.Date;//导入Data方法
 
/**
 * 医疗项目中的采购清单
 * 采购方/联系方式/邮箱/传真/地址
 *提供方/联系方式/邮箱/传真/地址
 *采购单编号/采购类型/采购单位/采购数量/采购单价/交易时间/总计金额/备注/注意事项1~n
 *
 */
 
 
public final class Purchase{//购买类
 
	public String demanName;//采购方
 
	public String demanPhone;//联系方式
 
	public String demandEmail;//邮箱
 
 
	public String demandFax;//传真
 
	public String demandAddress;//地址
 
 
public String supplyName;//提供方
public String supplyPhone;//联系方式
public String supplyEmail;//邮箱
public String supplyFax;//传真
public String supplyAddress;//地址
 
 
public Integer purchaseId;//采购单编号
public String purchaseType;//采购类型[枚举]
public String purchaseBrand;//采购规格
public String purchaseUnits;//采购单位
public String purchasePrice;//采购单价
public Date  purchaseDeal;//交易时间
public Double purchaseTotal;//总结金额
public String purchaseRemark;//注意事项
public String purchaseRemark1;//注意事项
public String purchaseRemark2;//注意事项
public String purchaseRemark3;//注意事项
public String purchaseRemark4;//注意事项
public String purchaseRemark5;//注意事项
}

 另外的类无法继承用final修饰的类

 继承:单继承,突破访问限制 

 

 

/**
 * 基础类型
 * @author 86157
 *
 */
public class Users {//类名
public int id;//定义一个公用的整型变量id
public String name;//定义一个字符串类型变量name 
public int age;//定义一个公用的整型变量age
public String gender;//定义一个字符串变量gender
 
public boolean equals(Object obj){//定义一个方法传入一个参数
	if(!(obj instanceof Users)){//判断obj是否属于User
		return false;//返回布尔类型
	}
	Users user=(Users)obj;//进行类型转换
	//if(this.age>=user.age){
		//return true;
	//}else if(this.age<user.age){
		//return false;
	//}
	//return this.age>=user.age?true:false;
	return this.age>=user.age;//返回布尔类型
}
}

 改代码无运行结果

/**
 * 医师类型
 * @author 86157
 *
 */
public class Doc extends Users{//定义一个类并继承Users类
public String job;//定义一个字符串job
public int level;//定义一个整型变量level
public boolean equals(Object obj){//定义一个方法并传入一个参数
	if(!(obj instanceof Doc)){//判断obj是否属于Doc
		return false;//返回false
	}
	Doc dt=(Doc)obj;//进行强制转换
	if(this.level>dt.level){//判断成员变量level与dt引用里的level是否相等
		return false;//返回布尔类型
	}else if(this.level<dt.level){//判断成员变量level是否小于dt引用的level的值
		return false;//返回布尔类型
	}else{//扩展了父类中的对象比较的方法
		return super.equals(obj);//调用父类的方法并返回
	}
}
}

该代码无运行结果


public String getDevice(){}  //名称相同,空参数方法
public String getDevice(String notes){}  //名称相同,有参数

public String getDevice(String offices,String notes){} //名称相同,参数个数不同

方法名称返回类型相同,但参数个数不同,参数类型不一致,是方法的重载
 

/**
 * DeviceService
 * @author 86157
 *@Reamrk:设备服务类型
 */
public class DeviceService {//定义一个类
	/**
	 * 医师领取的设备
	 * @return返回领取到的设备
	 */
public String getDevice(){//定义一个方法
	return "医师领取的设备";//返回一个字符串
}
/**
 * 医护领取设备
 * @param notes 领取记录
 * @return返回领取到的设备
 */
public String getDevice(String notes){//定义一个方法并传入一个参数
	return"医护领取的设备";//返回一个字符串
}
/**
 * 病人领取的设备
 * @param offices治疗科室
 * @param notes领取记录
 * @return返回领取到的设备
 */
public String getDevice(String offices,String notes){//定义一个方法并传入两个参数
	return "病人领取到的设备";//返回一个字符串
}
public static void main(String[]args){//主方法
	DeviceService ds=new DeviceService();//创建设备服务对象
	String res=ds.getDevice();//调用方法并将该值赋予定义好的字符串
	System.out.println(res);//输出信息
    String res2=ds.getDevice("手术用品");//调用方法并传入参数的值并赋予给定义好的参数
    System.out.println(res2);//输出信息
    String res3=ds.getDevice("骨科", "固定带");//调用方法并给参数赋值,之后赋予给定义的字符串变量
    System.out.println(res3);//输出信息
    
}
}

 运行介个如下:

/**
 * Hosipital
 * @author 86157
 *@Remark:医院的类型
 */
public class Hospital {//类名
	public void register(Patient patient,Department dept){//定义一个方法并传入两个参数
		System.out.println("开始挂号到对应的科室:"+dept.name);//输出信息
		dept.treatment(patient);//调用方法并传入参数
	}
	public static void main(String[]args){//主方法
		Hospital hs=new Hospital();//创建医院对象
		Orthopaedics op=new Orthopaedics();//骨科
		op.name="骨科";//给变量赋值
		Surgery sg=new Surgery();//外科
		sg.name="外科";//给变量赋值
		Patient patient=new Patient();//病人
		hs.register(patient, sg);//调用方法并传入参数
 
}
	}
class Patient{//类名
	public int id;//编号
	public String name;//姓名
	public String gender;//性别
	public int age;//年龄
	public float health;//健康状态
}
class Department{//类名
	public int id;//编号
	public String name;//名称
	public String intro;//介绍
	public void treatment(Patient patient){//定义一个方法并传入一个参数
		System.out.println(this.name+"接受病人,开始治疗");//输出信息
	}
}
class Orthopaedics extends Department{//定义一个类并继承Department类
	public void treatment(Patient patient){//定义一个方法并传入参数
		System.out.println(this.name+"骨科接受到病人,开始给病人进行治疗....");//输出信息
	}
}
class Surgery extends Department{//定义一个方法并继承Department类
	public void treatment(Patient patient){//定义一个方法并传入参数
		System.out.println(this.name+"外科接受到病人,准备给病人手术......");//输出信息
	}
}

 运行结果如下:

 

举报

相关推荐

0 条评论