-面向对象三大特征之封装

package day21_ke;

import day20.Roly;

public class Role {
//    (1)新建一个游戏人物Role类,类中有属性:昵称、职业、等级、称号。有一个介绍角色信息的方法。(属性封装)
    /**
     * 属性
     * 昵称、        职业、        等级、    称号
     * name     occupation        grade    title
     */
    
     String zu;
    /**
     * 战队 zu
     */
    // new 出
        Role[] roly = new Role[10];
        
    private String name;
    /**
     * 昵称 name
     */
    public void setName(String name){
        this.name=name;
    }
    private String occupation;
    /**
     * occupation 职业
     */
    public void setOccupation(String occupation){
        this.occupation=occupation;
    }
    
    private int grade;
    /**
     * 等级 grade
     */
    public void setGrade(int grade){
        this.grade=grade;
    }
    private String title;
    /**
     *称号 title
     */
    public void setTitle( String title){
        this.title=title;
    }
    /**
     * 属性
     * 昵称、        职业、        等级、    称号
     * name     occupation        grade    title
     */
    public String toString(){
        return "昵称"+"\t"+"职业"+"\t"+"等级"+"\t"+"称号"+"\n"+name+"\t"+occupation+"\t"+grade+"\t"+title+"\n";
    }
    
    

    /**
     * 查看成员信息
     */
    public void chaKan() {
        System.out.println("昵称\t职业\t等级\t称号");
        for(int i=0;i<roly.length;i++) {
            if(roly[i]!=null) {
                System.out.println(roly[i]+name+"\t"+occupation+"\t"+grade+"\t"+title+"\n");
            }
        }
        
    }
    
    /**
     * 写一个添加(add)成员方法,接收一个游戏人物对象,添加到人物对象数组中
     * @param r1
     */    
    public void add(Role r1) {
        for(int i=0;i<roly.length;i++) {
            if(roly[i]==null) {                
                roly[i] = r1; 
                System.out.println("欢迎"+r1.name+"加入"+zu+"战队");
                break;
            }            
        }
        
    }
    
    /**
     * 写一个删除(delete)方法,根据队员名称,踢出游戏人物数组中的队员
     */
    public void delete(String name) {
        for(int i=0;i<roly.length;i++) {
            if(roly[i]!=null) {
                if(roly[i].name.equals(name)) {
                    System.out.println(roly[i].name+"已被踢出"+zu+"战队");
                    roly[i] = null;
                    break;
                }
            }
        }
    }
    
    /**
     * 写一个查询方法(select)方法,根据队员名称,在数组中查找成员
     */
    public void select(String name) {
        for(int i=0;i<roly.length;i++) {
            if(roly[i]!=null) {
                if(roly[i].name.equals(name)) {
                    System.out.println(roly[i].name+"在战队中.....");
                    break;
                }else {
                    System.out.println(roly[i].name+"不在战队.....");
                    break;
                }
            }
        }
    }
    
    /**
     * 写一个修改方法(update)方法,将成员的老名字修改为新名字
     */
    public void update(String oldname,String setnam) {
        for(int i=0;i<roly.length;i++) {
            if(roly[i]!=null) {
                if(roly[i].name.equals(oldname)) {
                    System.out.println(oldname+"修改为"+setnam);
                    oldname=roly[i].name;
                    break;
                }
            }
        }
    
    }
    }
    

///测试

package day21_ke;

public class Role_Test{
public static void main(String[] args) {
    Role r1=new Role();
    /**
     * 属性
     * 昵称、        职业、        等级、    称号
     * name     occupation        grade    title
     */
    //战队名字
    r1.zu="属于我的战队";
    
    r1.setName("小米");
    r1.setOccupation("刀客");
    r1.setGrade(99);
    r1.setTitle("天下第二🔪");
//添加
    r1.add(r1);
    System.out.println("-----------我是分割线------------");
    System.out.println(r1);
    System.out.println("-----------我是分割线------------");
//    欢迎小米加入属于我的战队战队
//    昵称    职业    等级    称号
//    小米    刀客    99    天下第二🔪
    
    Role r2=new Role();
    r2.setName("小妹");
    r2.setOccupation("刀客");
    r2.setGrade(99);
    r2.setTitle("天下第三🔪");
    System.out.println(r2);
        System.out.println("-----------我是分割线------------");
    //查询
    r1.chaKan();
    r1.delete("小妹");
    System.out.println("-----------我是分割线------------");
    
    r1.select("小米");
    System.out.println("-----------我是分割线------------");

    r1.update("小米", "可乐");
    
    System.out.println("-----------我是分割线------------");
    
}
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值