类的高级特性

上传人:壹****1 文档编号:564583901 上传时间:2023-05-20 格式:DOC 页数:12 大小:58.50KB
返回 下载 相关 举报
类的高级特性_第1页
第1页 / 共12页
类的高级特性_第2页
第2页 / 共12页
类的高级特性_第3页
第3页 / 共12页
类的高级特性_第4页
第4页 / 共12页
类的高级特性_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《类的高级特性》由会员分享,可在线阅读,更多相关《类的高级特性(12页珍藏版)》请在金锄头文库上搜索。

1、3、类的高级特性(抽象类、接口等)引入:本章继续深入学习面向对象思想。正课:1、抽象类并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息 来描绘一个具体的对象,这样的类就是抽象类。用abstract修饰。定义抽象类:abstract class类名称成员变量;方法();/定义一般方法abstract方法();定义抽象方法范例 testabstract :package testabstract;public abstract class Ani malpublic Ani mal(Stri ng aType)type = new Strin g(aType);public Str

2、i ng toStri ng()return This is a + type;/ Dummy method to be implemented in the derived classes public abstract void soun d();private String type; package testabstract;public class Cat exte nds Ani malpublic Cat(Stri ng aName)super(Cat); / Call the base con structor n ame = aName; / Supplied n ame b

3、reed = Unknown; / Default breed valuepublic Cat(Stri ng aName, String aBreed)super(Cat); / Call the base con structor n ame = aName;/ Supplied n amebreed = aBreed; / Supplied breed/ Return a String full of a cats detailspublic Stri ng toStri ng()return super.toString() + nits + name + the + breed;/

4、A miaowi ng methodpublic void soun d()System.out.pri ntln (Miiaooww);private String name; / Name of a catprivate String breed; / Cat breed package testabstract;public class Dog exte nds Ani malpublic Dog(Stri ng aName)super(Dog);con structorn ame = aName;/ Call thebase/ Supplied n amebreed = Unknown

5、;/ Default breed valuepublic Dog(String aName, String aBreed)/ Call thebasesuper(Dog);con structorn ame = aName;breed = aBreed;/ Supplied n ame/ Supplied breed/ Prese nt a dogs details as a stri ngpublic Stri ng toStri ng()return super.toString() + nits + name + the + breed; / A bark ing method publ

6、ic void soun d()System.out.pri ntln (Woof Woof);/ Name of a Dog/ Dog breedprivate String name;private String breed; package testabstract;public class Duck exte nds Ani malpublic Duck(Stri ng aName)super(Duck); / Call the base con structor n ame = aName; / Supplied n ame breed = Unknown; / Default br

7、eed valuepublic Duck(Stri ng aName, String aBreed)super(Duck); / Call the base con structor n ame = aName;/ Supplied n amebreed = aBreed; / Supplied breed/ Retur n a String full of a ducks detailspublic Stri ng toStri ng()return super.toString() + nits + name + the + breed;/ A quack ing methodpublic

8、 void soun d()System.out.pri ntl n(Quack quackquack);private Stri ng n ame;/ Duck n ameprivate String breed; / Duck breed package testabstract;class Spaniel exte nds Dogpublic Spani el(Stri ng aName)super(aName, Spa ni el);package testabstract;import java.util.Ra ndom;public class TestAbstractpublic

9、 static void main(String args)/ Create an array of three differe nt ani mals An imal theA ni mals = new Dog(Rover, Poodle),new Cat(Max, Abyss in ia n),new Duck(Dafy,Aylesbury),new Spa ni el(Fido);Ani mal petChoice;/ Choice of pet/ Ran dom nu mberRandom select = new Random();gen erator/ Make five ran

10、 dom choices of petfor(i nt i = 0; i 5; i+) / Choose a ran dom ani mal as a petpetChoice = theA nimalsselect. nextl nt(theA nimals .len gth);System.out.pri ntln (nY our choice:n + petChoice);petChoice.so un d();/ Get the petsreacti on2、接口接口可以被用来实现类间多继承结构。接口内部只能定义public 的抽象方法和静态的、公有常量,因此所有的方法需要在子类中实现

11、。接口定义方法:访问权限in terface接口名称 exte nds 父接口名 1,父接口名2,./接口体程序范例 testinterface:package test in terface;public class Cat impleme nts PetOutputpublic Cat(Stri ng aName)super(Cat);/ Call the base con structorn ame = aName; / Supplied n amebreed = Unknown; / Default breed valuepublic Cat(Stri ng aName, String

12、 aBreed)super(Cat);/ Call the base con structorn ame = aName;/ Supplied n amebreed = aBreed; / Supplied breed/ Return a String full of a cats details public Stri ng toStri ng()retur n n Its + n ame + the + breed;/ A miaowi ng methodpublic void soun d()System.out.pri ntln (Miiaooww);private String na

13、me; / Name of a catprivate String breed; / Cat breedpackage test in terface;public class Dog impleme nts PetOutputpublic Dog(Stri ng aName)n ame = aName;/ Supplied n amebreed = Unknown; / Default breed valuepublic Dog(String aName, String aBreed) n ame = aName; / Supplied n ame breed = aBreed; / Sup

14、plied breed/ Prese nt a dogs details as a stri ngpublic Stri ng toStri ng()return Its + n ame + the + breed;/ A bark ing methodpublic void soun d()System.out.pri ntln (Woof Woof);public String getName()return n ame;private Stri ng n ame; / Name of a dogprivate String breed; / Dog breed package test in terface;public class Duck impleme nts PetOutputpublic Duck(Stri ng aName)super(Duck); / Cal

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号