欢迎来到天天文库
浏览记录
ID:51968213
大小:9.67 MB
页数:66页
时间:2020-03-26
《软件设计模式-PPT讲稿-汉语稿-孙玉山0-Introduction-Java Lec0-Java-Important Concepts-汉语.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Lecture2.Java与面向对象设计相关的概念Java与面向对象设计类之间的关系Java抽象类Java接口面向对象设计原则Java与面向对象设计AJava类被定义为封装数据结构封装一些功能类与对象之间的关系:类提供定义对象是类的实例JavaClasspublicClassPerson{privateStringname;privateStringsex;privateintage;privateStringrace;publicPerson(Stringname,Stringsex,intage,Stringrace){this.name=name;this.sex
2、=sex;this.age=age;this.race=race;}StringgetName(){returnname;}StringgetSex(){returnsex;}StringgetAge(){returnage;}StringgetRace(){returnrace;}}Java类数据封装功能封装Person类的一个实例产生对象Personyg=newPerson(“Lisa”,“female”,1,“Asian”);AlovelyyoungladyJava类产生另外一个对象Personmb=newPerson(“Mike”,“male”,45,“Asia
3、n”);Aninstance(object)ofaclassmaybeverydifferentfromanotherinstance(object)Java类Person类的另外一个实例两个Java类可能封装不同的数据结构,但是却可能提供相同的功能见下例Java类一个WaitingQueue的例子:使用数组实现publicclassWaitingQueue{privateString[]queue=newString[100];privateintlength;publicWaitingQueue(){length=0;}voidenQueue(Stringname)
4、{queue[length]=name;length++;}StringdeQueue(){Stringa=queue[0];for(intj=1;j5、wq.enQueue(“Peter");wq.enQueue(“Mike");wq.enQueue(“Bill");Stringa=pq.deQueue();System.out.println(“a="+a);}}JohnsonPeterMikeBilla=“Johnson”PeterMikeBillpublicclassWaitingQueue{privateArrayListqueue=newArrayList();privateintlength;publicWaitingQueue(){length=0;}publicvoidenQueue(Stringnam6、e){queue.add(name);length++;}publicStringdeQueue(){Stringa=(String)queue.get(0);queue.remove(0);length--;returna;}publicintgetSise(){returnlength;}}另外一个WaitingQueue的例子:使用ArrayList实现EncapsulateArrayListflexiblelengthProvidetwomethods,thesameasaboveexampleTwoclasseswiththesamenameencapsula7、tedifferentdatastructures,butprovidethesamefunctions问题:怎样从一个实际问题出发设计类?回答:遵从面向对象设计步骤.但是,对于简单问题,可以使用如下的简单方法。简单面向对象设计例子:动物家庭AnimalFamily简单需求描述(英文描述):Writeaprogramtotellastoryhappenedinananimalfamilythatincludesatiger,adogandacat.Whena3-year-oldmaletigerseesthe2-yearoldfemale
5、wq.enQueue(“Peter");wq.enQueue(“Mike");wq.enQueue(“Bill");Stringa=pq.deQueue();System.out.println(“a="+a);}}JohnsonPeterMikeBilla=“Johnson”PeterMikeBillpublicclassWaitingQueue{privateArrayListqueue=newArrayList();privateintlength;publicWaitingQueue(){length=0;}publicvoidenQueue(Stringnam
6、e){queue.add(name);length++;}publicStringdeQueue(){Stringa=(String)queue.get(0);queue.remove(0);length--;returna;}publicintgetSise(){returnlength;}}另外一个WaitingQueue的例子:使用ArrayList实现EncapsulateArrayListflexiblelengthProvidetwomethods,thesameasaboveexampleTwoclasseswiththesamenameencapsula
7、tedifferentdatastructures,butprovidethesamefunctions问题:怎样从一个实际问题出发设计类?回答:遵从面向对象设计步骤.但是,对于简单问题,可以使用如下的简单方法。简单面向对象设计例子:动物家庭AnimalFamily简单需求描述(英文描述):Writeaprogramtotellastoryhappenedinananimalfamilythatincludesatiger,adogandacat.Whena3-year-oldmaletigerseesthe2-yearoldfemale
此文档下载收益归作者所有