乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      8.oop-多態(tài)

       印度阿三17 2019-02-06

      一.繼承
      1.定義:子類繼承父類,會(huì)繼承父類的屬性和方法
      2.語法:extends關(guān)鍵字 子類 extends 父類
      3.特點(diǎn):java中的繼承是單一繼承,子類只能繼承一個(gè)父類,但是父類可以有多個(gè)子類
      4.用途:可以將共性的部分寫到父類中,子類保留自己的個(gè)性特征
      5.哪些不能被繼承:父類的構(gòu)造方法,私有的屬性和方法

      二.方法的重寫
      1.必須是子類重寫父類的方法,所以是發(fā)生在兩個(gè)類中
      2.方法的簽名必須一致,訪問修飾符可以不一樣,但子類不能嚴(yán)于父類

      三.繼承后的代碼執(zhí)行順序
      1.父類的屬性--父類的構(gòu)造方法--子類的屬性--子類的構(gòu)造方法

      四.supper關(guān)鍵字
      1.定義:代表父類的引用
      2.作用:可以調(diào)用父類的屬性和方法,包括構(gòu)造方法
      3.注意:如果調(diào)用父類構(gòu)造方法,必須是在子類構(gòu)造方法中的第一句

      五.final關(guān)鍵字
      1.定義:最終版本
      2.可以修飾:類,屬性,方法
      3.作用:
      修飾類:該類不能被繼承
      修飾屬性:叫常量,聲明時(shí)必須賦值,并且不能改變.常量的命名規(guī)則是全部大寫
      修飾方法:不能被重寫

      六.多態(tài)
      1.一種事務(wù)的多種形態(tài)。
      2.實(shí)現(xiàn)步驟:
      a.子類繼承父類,重寫父類的方法
      b.父類作為形參來代替所有的子類
      c.在調(diào)用時(shí),用父類的類型指向子類的對(duì)象

      七.例子

      1.請(qǐng)?jiān)O(shè)計(jì)多個(gè)類,程序員,醫(yī)生,演說家,歌手四個(gè)類
      設(shè)計(jì)相關(guān)屬性和職業(yè)行為,并且看怎么優(yōu)化設(shè)計(jì)
      共性的屬性有:姓名,年齡,性別,職業(yè)
      共性的方法有:自我介紹,吃飯,睡覺
      特性的方法有:各自如何賺錢
      特有的屬性:各自特有的屬性

      2.人物采訪:
      要求:主持人主持一檔節(jié)目,叫做人物訪談,可以采訪各種職業(yè)的人
      采訪過程:
      1.主持人先報(bào)廣告贊助商
      2.被采訪人自我介紹
      3.被采訪人介紹自己的賺錢方式
      4.主持人說下集預(yù)告
      設(shè)計(jì)程序,要求主持人可以采訪任何類型的職業(yè)人,采訪流程不變。

      加一個(gè)新的采訪職業(yè)。老師

      package com.demo1106;
      /**
       * 職業(yè)案例
       * @author allen
       *
       */
      public class Profession {
      	public static void main(String[] args) {
      		Programmer p = new Programmer();
      		p.coding();
      	}
      }
      
      class Person {
      	//姓名,年齡,性別,職業(yè)
      	String name;
      	int age;
      	String sex;
      	String profession;
      	final String HELLO = "你好";//常量,一旦聲明就必須賦值,并且不能被修改
      	static{
      		System.out.println("我是父類靜態(tài)");
      	}
      	public Person() {//子類繼承父類,構(gòu)造子類必先構(gòu)造父類
      		System.out.println("我是父類構(gòu)造方法");
      	}
      	
      	public void eat(){
      		System.out.println("吃米飯");
      	}
      	
      	public void sleep(){
      		System.out.println("睡覺八小時(shí)");
      	}
      	
      	public void intrduce(){
      		System.out.println("我叫" name);
      	}
      }
      
      class Programmer extends Person{
      	static{
      		System.out.println("我是子類靜態(tài)");
      	}
      	public Programmer() {
      		super();
      		System.out.println("我是子類構(gòu)造方法");
      	}
      	
      	public void coding(){
      		super.intrduce();
      		System.out.println("我賺錢的方法時(shí):我會(huì)編碼");
      	}
      	@Override//這個(gè)叫注解  此處的含義是告訴java這個(gè)方法是重寫父類的方法,他有檢查功能
      	public void sleep(){
      		System.out.println("我要加班,睡覺4個(gè)小時(shí)");
      	}
      	
      }
      
      class Doctor extends Person{
      	String level;//級(jí)別
      	
      	public void operation(){
      		System.out.println("我賺錢的方式:做外科手術(shù)");
      	}
      	@Override
      	public void eat(){
      		System.out.println("我吃面,還不用面條鮮");
      	}
      }
      

        

      ?

      package com.demo1106;
      /**
       * 任務(wù)采訪案例
       */
      public class Interview {
      	public static void main(String[] args) {
      		Compere cp = new Compere();
      //		People p = new Actor("芙蓉姐姐", "網(wǎng)紅", "海文公司");
      //		父類的類型指向子類的對(duì)象
      		People p = new Doctorer("某某某", "主任醫(yī)師", "長(zhǎng)沙湘雅附二");
      		cp.doProgram(p);
      	}
      	
      }
      
      class Compere{
      	String name;
      	
      	//主持節(jié)目
      	public void doProgram(People p){
      		//1234
      		System.out.println("我是主持人:" name ",感謝CCTV,所有TV");
      		p.introduce();
      		p.makeMoney();
      		System.out.println("我是主持人,感謝收看本級(jí),下期再見");
      	}
      	
      //	public void doProgramToActor(Actor a){
      //		//1234
      //		System.out.println("我是主持人:" name ",感謝CCTV,所有TV");
      //		a.intrduce();
      //		a.makeMoney();
      //		System.out.println("我是主持人,感謝收看本級(jí),下期再見");
      //	}
      //	
      //	public void doProgramToLawyer(){
      //		//1234
      //	}
      }
      
      //第一次優(yōu)化
      //將被采訪人的自己的行為規(guī)范到被采訪人類中
      //將該類作為形參傳遞給主持人的主持節(jié)目方法
      class Doctorer extends People{
      	//String name;來源于父類
      	String level;//自己值留下特征
      	//String company;//就職單位
      	
      	
      	@Override
      	public void introduce(){
      		System.out.println("我是:" name ",我的級(jí)別是:" level ",我就職于:" company);
      	}
      	public Doctorer(String name,String level,String company) {
      		this.name = name;
      		this.level = level;
      		this.company = company;
      	}
      	@Override
      	public void makeMoney(){
      		System.out.println("我賺錢的方式是做手術(shù)做一半要紅包");
      	}
      }
      
      class Actor extends People{
      //	private String name;
      	private String type;
      //	private String company;
      	
      	public Actor(String name, String type, String company) {
      		this.name = name;
      		this.type = type;
      		this.company = company;
      	}
      	@Override
      	public void introduce(){
      		System.out.println("我是:" name ",我就職于:" company);
      	}
      	@Override
      	public void makeMoney(){
      		System.out.println("我賺錢的方式是潛規(guī)則上位");
      	}
      }
      
      
      
      //第二次優(yōu)化:
      //1可以將所有被采訪者抽取他們的共性到一個(gè)父類中。
      //2被采訪者可以繼承這個(gè)父類并且重寫父類中的方法
      //3可以將主持人中的主持方法參數(shù)由原來的被采訪者改為他們的父類
      class People{
      	String name;
      	String company;
      	
      	public void introduce(){
      		
      	}
      	
      	public void makeMoney(){
      		
      	}
      }
      

        

      package com.demo1106;
      //繼承的語法案例
      public class Demo{
      	public static void main(String[] args) {
      		Children c = new Children();
      		c.name = "張三瘋";
      		c.eat();
      	}
      }
      
      class Father {
      	String name;
      	int age;
      	String sex;
      	
      	public void eat(){
      		System.out.println("我喜歡吃米飯");
      	}
      	
      	public void run(){
      		System.out.println("每分鐘跑200米");
      	}
      }
      
      class Children extends Father{
      	String characate;
      	
      	public void play(){
      		System.out.println("我們喜歡擼啊擼");
      	}
      }
      

        

      /*
       * 1.請(qǐng)?jiān)O(shè)計(jì)多個(gè)類,程序員,醫(yī)生,演說家,歌手四個(gè)類
      設(shè)計(jì)相關(guān)屬性和職業(yè)行為,并且看怎么優(yōu)化設(shè)計(jì)
      共性的屬性有:姓名,年齡,性別,職業(yè)
      共性的方法有:自我介紹,吃飯,睡覺
      特性的方法有:各自如何賺錢
      特有的屬性:各自特有的屬性
       * 
       */
      package com.class1106;
      
      
      public class Class01 {
      
      	public static void main(String[] args) {
      		// TODO Auto-generated method stub
      
      		Person pg=new Programmer();
      		pg.introduce();
      		pg.eat();
      		pg.sleep();
      		pg.getmoney();
      		
      	}
      
      }
      
      class Person{
      	String name;
      	int age;
      	String sex;
      	String profession;
      	
      	public void introduce(){
      		System.out.println("我是" name ",性別是" sex ",今年" age "歲" ",職業(yè)是" profession);
      	}
      	public void eat(){
      		System.out.println("我會(huì)吃飯");
      	}
      	public void sleep(){
      		System.out.println("我還會(huì)睡覺");
      	}
      	public void getmoney()
      	{
      		
      	}
      }
      
      class Programmer extends Person{
      	String thought;
      	public void getmoney()
      	{
      		System.out.println("我通過寫代碼賺錢");
      	}
      }
      
      class Doctor extends Person{
      	String cloth;
      	public void getmoney(){
      		System.out.println("我通過給人治病賺錢");
      	}
      }
      
      class Speaker extends Person{
      	String eloquence;
      	public void getmoney(){
      		System.out.println("我通過演講賺錢");
      	}
      }
      
      class Singer extends Person{
      	String sound;
      	public void getmoney()
      	{
      		System.out.println("我通過唱歌賺錢");
      	}
      }
      

        

      /*
       * 2.人物采訪:
      要求:主持人主持一檔節(jié)目,叫做人物訪談,可以采訪各種職業(yè)的人
      采訪過程:
      	  1.主持人先報(bào)廣告贊助商
            2.被采訪人自我介紹
            3.被采訪人介紹自己的賺錢方式
            4.主持人說下集預(yù)告
      設(shè)計(jì)程序,要求主持人可以采訪任何類型的職業(yè)人,采訪流程不變。
      加一個(gè)新的采訪職業(yè)。老師
       */
      package com.class1106;
      
      public class Class02 {
      
      	public static void main(String[] args) {
      		// TODO Auto-generated method stub
      
      		Host h=new Host();
      		People p1=new Doctor1("華佗",100,"醫(yī)生","院長(zhǎng)");
      		h.interview(p1);
      		
      		People p2=new Teacher1("曹操",111,"老師","三國(guó)軍事學(xué)院");
      		h.interview(p2);
      		
      	}
      }
      
      class Host{
      	String name="陳魯豫";
      	
      	public void interview(People p)
      	{
      		System.out.println("我是主持人" name ",本節(jié)目由五糧液冠名播出");
      		p.introduce1();
      		p.makemoney();
      		System.out.println("本期節(jié)目到這里就結(jié)束了,感謝cctv,我們下期再見");
      	}
      }
      
      class People{
      	String name;
      	int age;
      	String profession;
      	
      	public void introduce1()
      	{
      		
      	}
      	public void makemoney()
      	{
      		
      	}	
      }
      
      class Doctor1 extends People{
      	String level;
      	public Doctor1(String name,int age,String profession,String level){
      		this.name=name;
      		this.age=age;
      		this.profession=profession;
      		this.level=level;
      	}
      	public void introduce1()
      	{
      		System.out.println("我是" name ",今年" age "歲," "我的職業(yè)是" profession ",我的級(jí)別是" level);
      	}
      	public void makemoney()
      	{
      		System.out.println("我是通過做手術(shù)賺錢的");
      	}
      }
      class Teacher1 extends People{
      	String school;
      	public Teacher1(String name,int age,String profession,String school)
      	{
      		this.name=name;
      		this.age=age;
      		this.profession=profession;
      		this.school=school;
      	}
      	
      	@Override
      	public void introduce1()
      	{
      		System.out.println("我是" name ",今年" age "歲," "我的職業(yè)是" profession ",我所在的學(xué)校是" school);
      	}
      	@Override
      	public void makemoney()
      	{
      		System.out.println("我是通過教學(xué)生知識(shí)賺錢的");
      	}
      }
      

        

      八.作業(yè)

      做一個(gè)學(xué)員管理系統(tǒng)
      功能:1.添加學(xué)員
      2.查看學(xué)員信息
      3.刪除學(xué)員
      4.修改學(xué)員

      思路:創(chuàng)建學(xué)員對(duì)象
      創(chuàng)建學(xué)員對(duì)象數(shù)組
      每個(gè)功能對(duì)應(yīng)一個(gè)方法,可以反復(fù)使用


      提示:

      ---------------------------------
      歡迎使用學(xué)員管理
      ---------------------------------
      功能選擇:
      1.添加學(xué)員
      2.查看學(xué)員信息
      3.刪除學(xué)員
      4.修改學(xué)員
      請(qǐng)選擇:1
      添加學(xué)員:
      姓名:杜典
      年齡:16
      性別:女
      電話:15232654565
      籍貫:長(zhǎng)沙
      添加成功!
      是否繼續(xù)?y/n:y

      功能選擇:
      1.添加學(xué)員
      2.查看學(xué)員信息
      3.刪除學(xué)員
      4.修改學(xué)員
      請(qǐng)選擇:2
      姓名 年齡 性別 電話 籍貫
      杜典 16 女 152656545 長(zhǎng)沙
      李祥 18 男 154854623 岳陽
      是否繼續(xù)?y/n:y

      功能選擇:
      1.添加學(xué)員
      2.查看學(xué)員信息
      3.刪除學(xué)員
      4.修改學(xué)員
      請(qǐng)選擇:3
      請(qǐng)輸入要?jiǎng)h除的學(xué)員姓名:李祥
      刪除成功!
      是否繼續(xù)?y/n:y

      功能選擇:
      1.添加學(xué)員
      2.查看學(xué)員信息
      3.刪除學(xué)員
      4.修改學(xué)員
      請(qǐng)選擇:4
      請(qǐng)輸入要修改的學(xué)員姓名:杜典
      姓名:哈哈
      年齡:88
      性別:女
      電話:15232654565
      籍貫:常德
      修改成功!
      是否繼續(xù)?y/n:y

      功能選擇:
      1.添加學(xué)員
      2.查看學(xué)員信息
      3.刪除學(xué)員
      4.修改學(xué)員
      請(qǐng)選擇:2
      姓名 年齡 性別 電話 籍貫
      哈哈 88 女 152656545 長(zhǎng)沙
      李祥 18 男 152454544 常德

      package com.class1104;
      
      import java.util.Scanner;
      
      public class Test1 {
      
      	public static void main(String[] args) {
      		// TODO Auto-generated method stub
      		//菜單各種詢問,各種調(diào)用
      		Start st=new Start();
      		int s1;
      		String s2;
      		StuManager sm=new StuManager();
      		do{
      			st.select();
      			Scanner sc=new Scanner(System.in);
      		
      			System.out.print("請(qǐng)選擇:");
      			s1=sc.nextInt();
      	
      			switch(s1)
      			{
      			case 1:
      				System.out.println("添加學(xué)員:");
      				sm.addStu();
      				System.out.println("添加成功!");
      				break;
      			case 2:
      				sm.queryStu();
      				break;
      			case 3:
      				sm.deleteStu();
      				break;
      			case 4:
      				sm.updateStu();
      				break;
      			default:
      				System.out.println("輸入錯(cuò)誤");
      				break;
      			}
      			System.out.print("是否繼續(xù)?y/n:");
      			s2=sc.next();
      			System.out.println();
      		}while(s2.equals("y"));
      		
      		
      		
      
      		
      
      	}
      }
      
      class Start{
      	public Start()
      	{
      		for(int i=0;i<25;i  )
      		{
      			System.out.print("-");
      		}
      		System.out.println();
      		System.out.println("               歡迎使用學(xué)員管理");
      		for(int i=0;i<25;i  )
      		{
      			System.out.print("-");
      		}
      		System.out.println();	
      	}
      	public void select()
      	{
      		System.out.println("功能選擇:");
      		System.out.println("    1.添加學(xué)員");
      		System.out.println("    2.查看學(xué)員信息");
      		System.out.println("    3.刪除學(xué)員");
      		System.out.println("    4.修改學(xué)員");
      	}
      }
      
      class Student{
      	// 各種屬性。要求封裝
      	private String name;
      	private int age;
      	private String sex;
      	private String phone;
      	private String place;
      	
      	public void setName(String name)
      	{
      		this.name=name;
      	}
      	public String getName()
      	{
      		return name;
      	}
      	public void setAge(int age)
      	{
      		this.age=age;
      	}
      	public int getAge()
      	{
      		return age;
      	}
      	public void setSex(String sex)
      	{
      		this.sex=sex;
      	}
      	public String getSex()
      	{
      		return sex;
      	}
      	public void setPhone(String phone)
      	{
      		this.phone=phone;
      	}
      	public String getPhone()
      	{
      		return phone;
      	}
      	public void setPlace(String place)
      	{
      		this.place=place;
      	}
      	public String getPlace()
      	{
      		return place;
      	}
      }
      
      // 學(xué)員管理類
      class StuManager{
      	Student stu[]=new Student[50];
      	Scanner sc1=new Scanner(System.in);
      	public void addStu()
      	{
      		Student stu1=new Student();
      		for(int i=0;i<stu.length;i  )
      		{
      			if(stu[i]==null)
      			{
      				stu[i]=stu1;
      				break;
      			}
      			
      		}
      		System.out.print("姓名:");
      		stu1.setName(sc1.next());
      		System.out.print("年齡:");
      		stu1.setAge(sc1.nextInt());
      		System.out.print("性別:");
      		stu1.setSex(sc1.next());
      		System.out.print("電話:");
      		stu1.setPhone(sc1.next());
      		System.out.print("籍貫:");
      		stu1.setPlace(sc1.next());
      		
      	}
      	public void queryStu()
      	{
      		System.out.print("姓名" "\t");
      		System.out.print("年齡" "\t");
      		System.out.print("性別" "\t");
      		System.out.print("電話" "\t");
      		System.out.print("籍貫" "\t");
      		
      		for(int i=0;i<stu.length;i  )
      		{
      			if(stu[i]!=null)
      			{
      				System.out.println();
      				System.out.print(stu[i].getName() "\t");
      				System.out.print(stu[i].getAge() "\t");
      				System.out.print(stu[i].getSex() "\t");
      				System.out.print(stu[i].getPhone() "\t");
      				System.out.print(stu[i].getPlace() "\t");
      			}
      		}
      	}
      	public void deleteStu()
      	{
      		System.out.print("請(qǐng)輸入要?jiǎng)h除的學(xué)員姓名:");
      	    String name1=sc1.next();
      	    boolean b1=false;
      		for(int i=0;i<stu.length;i  )
      		{
      			if(stu[i]!=null)
      			{
      				if(stu[i].getName().equals(name1))
      				{
      					b1=true;
      					stu[i]=null;
      					int j=i;
      					while(j<stu.length-1)
      					{
      						stu[j]=stu[j 1];
      						j  ;
      						if((j 1)==stu.length-1)
      						{
      							stu[j 1]=null;
      						}
      					}
      					i--;
      				}
      			}
      		}
      		if(b1)
      		{
      			System.out.println("刪除成功!");
      		}else{
      			System.out.println("未找到該學(xué)員!");
      		}
      	}
      	public void updateStu()
      	{
      		System.out.print("請(qǐng)輸入要修改的學(xué)員姓名:");
      		String name2=sc1.next();
      		boolean b2=false;
      		for(int i=0;i<stu.length;i  )
      		{
      			if(stu[i]!=null)
      			{
      				if(stu[i].getName().equals(name2))
      				{
      					b2=true;
      					System.out.print("姓名:");
      					stu[i].setName(sc1.next());
      					System.out.print("年齡:");
      					stu[i].setAge(sc1.nextInt());
      					System.out.print("性別:");
      					stu[i].setSex(sc1.next());
      					System.out.print("電話:");
      					stu[i].setPhone(sc1.next());
      					System.out.print("籍貫:");
      					stu[i].setPlace(sc1.next());
      				}
      			}
      		}
      		if(b2)
      		{
      			System.out.println("修改成功!");
      		}else{
      			System.out.println("未找到該學(xué)員!");
      		}
      	}
      }
      

        

      ?

      來源:http://www./content-4-110201.html

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多