实验三 继承和多态
实验三 继承和多态

实验三继承和多态一、实验目的1.熟练掌握封装性,多态性的概念。
2.熟练掌握抽象类abstract的概念。
3.熟练掌握接口interface的概念。
4.熟练包package的概念以及编译运行的方法。
二、实验内容1.编写一个Java Application程序,该程序有个点Point类,它包含横坐标x和纵坐标y 两个属性,再给Point定义两个构造方法和一个打印点坐标的方法Show。
定义一个圆Circle 类,它继承Point类(它是一个点,圆心(Center)),除此之外,还有属性半径Radius,再给圆定义2个构造方法、一个打印圆的面积的方法PrintArea和一个打印圆中心、半径的方法Show(其中显示圆心可以用super.Show()的方式)。
package实验三;public class Point {double x,y;public Point(){x=0;y=0;}public Point(double x,double y){this.x=x;this.y=y;}public String Show(){return"横坐标为:"+this.x+",纵坐标为:"+this.y;}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubPoint a=new Point(3.0,4.0);System.out.println(a.Show());}}package实验三;public class Circle extends Point {double Radius;public Circle(){super(0,0);Radius=0;}public Circle(double x,double y,double z){super(x,y);Radius=z;}public String Show(){System.out.println("圆心的"+super.Show()+"半径为:"+Radius);return"圆心的"+super.Show()+"半径为:"+Radius;}public String PrintArea(){System.out.println("圆的面积为:"+Math.PI*Radius*Radius);return"圆的面积为:"+Math.PI*Radius*Radius;}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubCircle a=new Circle(3,4,5);a.Show();a.PrintArea();}}2.编写一测试类,对其进行编译、运行。
实验报告5 继承与多态

实验名称:继承与多态一.实验目的:((1)理解继承的含义,掌握派生类的定义方法和实现;(2)理解虚函数在类的继承层次中的作用,虚函数的引入对程序运行时的影响,能够对使用虚函数的简单程序写出程序结果。
(3)编写体现类的继承性(成员变量,成员方法,成员变量隐藏)的程序;(4)编写体现类多态性(成员方法重载,构造方法重载)的程序。
(5)理解接口和抽象类、抽象方法的定义和实现方法;(5)理解接口和抽象类的差别。
二.上机内容:(1)进行类的继承和基类构造方法的应用的练习;(2)进行类的多态性练习(3)进行抽象类和接口的练习(4)整理上机步骤,总结经验和体会。
(5)完成实验报告。
三.上机步骤:类的继承和基类构造方法的应用(1)编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班级和成绩,教师数据有编号、姓名、职称和部门。
要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师类数据操作类teacher的基类。
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication2{class person{public string bh;//编号public string xm;//姓名public person(string bh, string xm){this.bh = bh;this.xm = xm;}public void show(){Console.WriteLine("姓名:{0}", xm);Console.WriteLine("编号:{0}", bh);}}class student : person{public string bj;//班级public int cj;//成绩public student(string sbh, string sxm, string sbj, int scj): base(sbh, sxm){bh = sbh;xm = sxm;bj = sbj;cj = scj;}public new void show(){Console.WriteLine("***student***");Console.WriteLine("姓名:{0}", xm);Console.WriteLine("编号:{0}", bh);Console.WriteLine("班级:{0}", bj);Console.WriteLine("成绩:{0}", cj);}}class teacher : person{public string zc;//职称public string bm;//部门public teacher(string tbh, string txm, string tzc, string tbm) : base(tbh, txm){bh = tbh;xm = txm;zc = tzc;bm = tbm;}public new void show(){Console.WriteLine("***teacher***");Console.WriteLine("姓名:{0}", xm);Console.WriteLine("编号:{0}", bh);Console.WriteLine("职称:{0}", zc);Console.WriteLine("部门:{0}", bm);}}class program{static void Main(string[] args){student st = new student("050013", "张三", "信管091", 91);st.show();teacher te = new teacher("046950", "范仲淹", "特级教师", "教务处"); te.show();Console.ReadLine();}}}运行结果:(2)将以上程序尝试改成通过调用基类构造方法的方式来初始化编号和姓名,并总结调用基类构造方法的应用要点。
Java继承与多态实验报告

西安邮电大学(计算机学院)课内实验报告实验名称:继承与多态ﻩﻩ专业名称:计算机科学与技术班级:计科1405班学生姓名:高宏伟学号:指导教师:刘霞林实验日期:2016、10、13一、实验目得通过编程与上机实验理解Java语言得继承与多态特性,掌握变量得隐藏、方法得覆盖、重载,掌握抽象类与接口得使用。
二、实验要求1、编写体现类得继承性(成员变量、成员方法、成员变量隐藏)得程序。
2、编写体现类得多态性(成员方法重载)得程序.3、编写体现类得多态性(构造方法重载)得程序。
4、编写使用接口得程序。
三、实验内容(一)类得继承1、创建公共类Student、(1)编写程序文件Student、java,源代码如下:publicclass Student{protected Stringname; //具有保护修饰符得成员变量protected int number;void setData(Stringm,inth)//设置数据得方法{name =m;number= h;}public void print()//输出数据得方法{System、out、println(name+","+number);}}(2)编译Student、java,产生类文件Student、class.2.创建继承得类Undergraduate(1)程序功能:通过Student类产生子类undergraduate,其不仅具有父类得成员变量name(姓名)、number(学号),还定义了新成员变量academy(学院)、department(系)。
在程序中调用父类得print方法.(2)编写Undergraduate程序:classUndergraduateextends Student{【代码1】//定义成员变量academy【代码2】//定义成员变量departmentpublic static void main(String args[]){【代码3】//创建一个学生对象s【代码4】//用父类得setData方法初始化对象s【代码5】//对象s调用print方法【代码6】//创建一个大学生对象u【代码7】//调用父类得成员方法setData初始化对象u【代码8】//设置对象u得成员变量academy【代码9】//设置对象u得成员变量departmentSystem、out、print(u、name+”,”+u、number+", "+u、academy+”,"+u、de partment);}}(3)编译并运行程序注意:公共类Student 与undergraduate类要在同一文件夹(路径)内.(二)方法得重载(1)程序功能:对不同得数进行排序输出。
Java实验报告继承、多态、接口和异常处理

Java实验报告继承、多态、接⼝和异常处理实验5 继承、多态、接⼝和异常处理⼀、实验⽬的1、掌握Java的类和对象的声明和使⽤⽅法;2、掌握Java的类的继承和实现⽅法;3、掌握多态性在类的继承中的运⽤;4、掌握接⼝的定义与使⽤;5、掌握基本异常的处理机制;6、熟悉try语句与catch语句的搭配使⽤;7、了解有异常处理与没有异常处理的差别;8、多重catch语句的使⽤;9、使⽤Throws声明异常和Throw抛出异常。
⼆、实验环境1、PC微机;2、DOS操作系统或 Windows 操作系统;3、Java sdk程序开发环境、eclipse集成环境。
三、实验内容1. 设计三个类,分别是学⽣类Student,本科⽣类UnderGraduate,研究⽣类Postjgraduate,其中Student类是⼀个抽象类,它包含学⽣的基本信息如姓名、所学课程、课程成绩等,⽽Undergraduate类和Postgraduate类都是Student类的⼦类,这两个类计算课程成绩等级的⽅法有所不同,如下表所⽰。
假设某班级⾥既有研究⽣⼜有本科⽣,编写程序统计出全班学⽣2. 和Mobilephone具体实现,并设计⼀个应⽤程序类来使⽤这些类。
3.要求设计⼀个GUI图形窗⼝程序,该程序让⽤户输⼊⼀个星期中的任意⼀天的数字1-7,然后输出该数字所对应的是星期⼏。
四、实验步骤实验内容⼀1.建⽴package experiment5_1,其最终⽬录结构如下:2.建⽴Student类:package experiment5_1;public abstract class Student {final static int CourseNo = 3;String name;String type;int[] courses;String courseGrade;public Student(String name) {/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html = name; courses = new int[CourseNo];courseGrade = "" ;}public abstract void calculateGrade();public String getName( ) {return name;}public String getType( ) {return type ;}public String getCourseGrade( ) {return courseGrade;}public int getCourseScore(int courseNumber) {return courses[courseNumber];}public void setName(String name) {/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html = name;}public void setType(String type) {this.type = type;}public void setCourseScore(int courseNumber, int courseScore) { //按课程索引号设置课程成绩this.courses[courseNumber] = courseScore ;}}3.建⽴外部类(1)研究⽣类Postjgraduatepackage experiment5_1;public class postgraduate extends Student {public postgraduate(String name) {super(name);type = "研究⽣";}public void calculateGrade() {// TODO Auto-generated method stubint total = 0;double average = 0;for (int i = 0; i < CourseNo; i++) {total += courses[i];};average = total / CourseNo;if (average>=90&&average<100) courseGrade = "优秀"; else if (average>=80&&average<90) courseGrade = "良好"; else if (average>=70&&average<80) courseGrade = "⼀般"; else if (average>=60&&average<70) courseGrade = "及格"; else courseGrade = "不及格";}}(2)本科⽣类UnderGraduatepackage experiment5_1;public class undergraduate extends Student {public undergraduate(String name ) {super(name);type = "本科⽣";}public void calculateGrade() {int total = 0;double average = 0;for (int i = 0; i < CourseNo; i++) {total += getCourseScore(i) ;};average = total / CourseNo;if (average>=80&&average<100) courseGrade = "优秀"; else if (average>=70&&average<80) courseGrade = "良好"; else if (average>=60&&average<70) courseGrade = "⼀般"; else if (average>=50&&average<60) courseGrade = "及格"; else courseGrade = "不及格";}}4.编写代码测试函数package experiment5_1;public class polymorphism {public static void main(String[] args) {Student[] students = new Student[5];students[0] = new undergraduate("陈建平");students[1] = new undergraduate("鲁向东");students[2] = new postgraduate("匡晓华");students[3] = new undergraduate("周丽娜");students[4] = new postgraduate("梁欣欣");for (int i=0; i<5 ;i++) {students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for (int i=0; i<5 ;i++) {students[i].calculateGrade();}System.out.println("姓名" + " 类型" +" 成绩");System.out.println("-----------------------");for (int i=0; i<5 ;i++) {System.out.println(students[i].getName( )+" "+students[i].getType( )+" "+students[i].getCourseGrade( ));}}}实验内容⼆1.建⽴package experiment5_2,其最终⽬录结构如下:2.写接⼝Soundable代码:package experiment5_2;public interface Soundable {public void increaseV olume( );public void decreaseV olume( );public void stopSound( );public void playSound( );}3.创建三个类Radio、Walkman和Mobilephone具体实现,分别添加代码:// Mobilephone类package experiment5_2;class Mobilephone implements Soundable{public void increaseV olume( ) {System.out.println("增⼤⼿机⾳量");}public void decreaseV olume( ) {System.out.println("减⼩⼿机⾳量");}public void stopSound( ) {System.out.println("关闭⼿机");}public void playSound( ) {System.out.println("⼿机发出来电铃声");}}// Walkman类package experiment5_2;class Walkman implements Soundable { public void increaseV olume( ) { System.out.println("增⼤随声听⾳量"); }public void decreaseV olume( ) { System.out.println("减⼩随声听⾳量"); }public void stopSound( ) {System.out.println("关闭随声听");}public void playSound( ) {System.out.println("随声听发出⾳乐"); }}// Radio类package experiment5_2;class Radio implements Soundable{ public void increaseV olume( ) { System.out.println("增⼤收⾳机⾳量"); }public void decreaseV olume( ) { System.out.println("减⼩收⾳机⾳量"); }public void stopSound( ) {System.out.println("关闭收⾳机");}public void playSound( ) {System.out.println("收⾳机播放⼴播"); }}4.创建people类及编写测试代码://People类package experiment5_2;class People {public void listen(Soundable s) {s.playSound( );}}//测试代码package experiment5_2;import java.util.Scanner;public class InterfaceTest {public static void main(String[] args) {int i;People sportsman = new People( );Scanner scanner = new Scanner(System.in);Soundable[] soundDevice = new Soundable[3];//往声⾳设备数组中放⼊能发声的设备soundDevice[0] = new Radio( );soundDevice[1] = new Walkman( );soundDevice[2] = new Mobilephone();System.out.println("你想听什么? 请输⼊选择:0-收⾳机1-随声听2-⼿机");i = scanner.nextInt( );//开始听声⾳sportsman.listen(soundDevice[i]);soundDevice[i].increaseV olume( );soundDevice[i].stopSound();scanner.close();}}实验内容三1.建⽴package experiment5_3,其最终⽬录结构如下package experiment5_3;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class DateTransf extends JFrame implements KeyListener{/****/private static final long serialVersionUID = 1L;private static DateTransf frm;private static JTextField txt;private static JTextField data;DateTransf() {setTitle("数字与星期转换");setLocation(700, 300);setSize(400,130);}public static void main(String[] args) {frm = new DateTransf();frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setLayout(new GridLayout(2,2));txt = new JTextField(12);data = new JTextField(12);JLabel lable1 = new JLabel("输⼊数字:");JLabel lable2 = new JLabel("星期⼏:");frm.add(lable1);txt.addKeyListener(frm);frm.add(txt);frm.add(lable2);frm.add(data);frm.setVisible(true);}public void keyPressed(KeyEvent e) {if (e.getSource() == txt) {if (e.getKeyCode() == KeyEvent.VK_ENTER) // 判断按下的键是否是回车键{try {int number = Integer.parseInt(txt.getText());switch (number) {case 1:data.setText("Mon");break;case 2:data.setText("Tue");break;case 3:data.setText("Wen");break;case 4:data.setText("Thu");break;case 5:data.setText("Fri");break;case 6:data.setText("Sat");break;case 7:data.setText("Sun");break;default:JOptionPane.showMessageDialog(null, "您输⼊的数字不是1~7","⽆效⽇期",/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html RMATION_MESSAGE); break;}}catch (Exception e1) {// TODO: handle exceptionJOptionPane.showMessageDialog(null, "您输⼊的不是整数","⽆效⽇期",/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html RMA TION_MESSAGE); }}}}public void keyReleased(KeyEvent e) {}public void keyTyped(KeyEvent e) {}}2.编译运⾏五、实验结果●实验内容⼀结果:●实验内容⼆结果:●实验内容三结果:六、实验⼩结1.这次实验的内容⽐较多,需要掌握Java的类和对象的声明和使⽤⽅法、Java的类的继承和实现⽅法、多态性在类的继承中的运⽤、接⼝的定义与使⽤、基本异常的处理机制、try语句与catch语句的搭配使⽤等等;2. 在实验过程中,重点是要区分好实例和类,灵活掌握类的调⽤。
类的继承与多态性实验报告

类的继承与多态性实验报告目录1.介绍2.什么是多态3.多态在Java中的技术基础4.示例5.多态的好处6.总结介绍之前的文章介绍过类的封装性和继承性,现在是时候聊聊面向对象编程的三大特性之一的最后一个类的多态性了。
多态的基础是继承(包括了接口的实现)和方法的覆盖。
什么是多态多态对应的英文单词是polymorphism,百度翻译给出的翻译是:n.多型现象,多态性; 多机组合形式;按字面意思就是多种状态、形态、姿态等等,潜台词就是某个东西具有多种状态、形态、姿态等等。
那是什么东西呢?在面向对象的编程语言里面(当然就包括Java了)就是某个方法或函数。
那方法的多种状态、形态、姿态有是个什么意思呢?这其实是指同一个方法具有多个方法体,就是方法的实现。
而方法的相同与否是由方法签名决定的。
所以,多态其实本质上是指同一个类的同一个方法却具有不同的行为特征。
状态、形态、姿态指的就是行为特征。
多态在Java中的技术基础然而,在Java中,同一个类里面是不可能存在两个签名相同而实现不同的方法的,否则的话会导致无法判断该执行哪个方法,因此在编译时就会报错。
所以,肯定是在两个类中才有可能存在两个签名相同而实现不同的方法,一个实现在这个类,另一个实现在另一个类。
而如果这两个类毫无瓜葛,那么肯定就与多态的本质(同一个类的同一个方法却具有不同的行为特征)自相矛盾了。
所以,这两个类肯定是有某种联系的。
我们再想想,什么概念是能够让两个不同的类却又能称为同一个类的?答案就是类的继承/扩展,就是现实中的“某东西是某类东西”的概念,就是“具体和抽象”的思想。
比如,男人是人,女人也是人,男人类和女人类就借助于人类建立了某种联系,而人类具有的某个行为在男人类和女人类中是有着不同体现的,比如人类的吃饭这个行为,男人类的体现是狼吞虎咽,女人类的体现是细嚼慢咽。
例子不是很恰当,但意思就是这么个意思。
所以说,Java里面多态的技术基础就是方法的覆盖,当然,在Java中覆盖不仅仅发生在类的继承/扩展上,还可能发生在接口的实现上。
类的继承与多态性实验报告

类的继承与多态性实验报告类的继承与多态性实验报告目录1.介绍2.什么是多态3.多态在Java中的技术基础4.示例5.多态的好处6.总结介绍之前的文章介绍过类的封装性和继承性,现在是时候聊聊面向对象编程的三大特性之一的最后一个类的多态性了。
多态的基础是继承(包括了接口的实现)和方法的覆盖。
什么是多态多态对应的英文单词是polymorphism ,百度翻译给出的翻译是:n.多型现象,多态性;多机组合形式;按字面意思就是多种状态、形态、姿态等等,潜台词就是某个东西具有多种状态、形态、姿态等等。
那是什么东西呢?在面向对象的编程语言里面(当然就包括Java 了)就是某个方法或函数。
那方法的多种状态、形态、姿态有是个什么意思呢?这其实是指同一个方法具有多个方法体,就是方法的实现。
而方法的相同与否是由方法签名决定的。
所以,多态其实本质上是指同一个类的同一个方法却具有不同的行为特征。
状态、形态、姿态指的就是行为特征。
多态在Java中的技术基础然而,在Java中,同一个类里面是不可能存在两个签名相同而实现不同的方法的,否则的话会导致无法判断该执行哪个方法,因此在编译时就会报错。
所以,肯定是在两个类中才有可能存在两个签名相同而实现不同的方法,一个实现在这个类,另一个实现在另一个类。
而如果这两个类毫无瓜葛,那么肯定就与多态的本质(同一个类的同一个方法却具有不同的行为特征)自相矛盾了。
所以,这两个类肯定是有某种联系的。
我们再想想,什么概念是能够让两个不同的类却又能称为同一个类的? 答案就是类的继承/扩展,就是现实中的“某东西是某类东西”的概念,就是“具体和抽象”的思想。
比如,男人是人,女人也是人,男人类和女人类就借助于人类建立了某种联系,而人类具有的某个行为在男人类和女人类中是有着不同体现的,比如人类的吃饭这个行为,男人类的体现是狼吞虎咽,女人类的体现是细嚼慢咽。
例子不是很恰当,但意思就是这么个意思。
所以说,Java里面多态的技术基础就是方法的覆盖,当然,在Java中覆盖不仅仅发生在类的继承/扩展上,还可能发生在接口的实现上。
Java继承与多态实验报告.doc

Java继承与多态实验报告.doc
Java的继承与多态实验报告
本报告致力于分析Java继承与多态的概念、原理和作用,以及相关实验过程及其结果。
继承,又称为分类,是Java面向对象程序设计语言中定义类之间关系的重要技术。
它使一个类可以使用另一个基类中定义的方法和属性,在基类中已经定义了一些功能,子
类可以对基类功能进行拓展与定制。
《Java技术手册》得出结论,继承可以有效提高软件的复用性、可维护性和可重用性,使大型的、复杂的程序有条理层次。
多态是Java中一种特殊的程序结构,允许不同类的对象对相同的消息作出不同的响应,由程序的消息而不是对象的类型来决定对象的行为。
它是Java多态性的基础,使程
序能够在不同对象上进行操作,统一实现。
从实验中,可以明显看出Java继承与多态之间的联系:多态必须依赖于继承,当子
类被创建时,它继承了母类的方法以及特性,这样,它才能以逐渐上升的方式处理所有消息,而多态给了子类独特-->性的功能。
同时,多态也方便了代码重用,因为子类会继承
母类的方法和属性。
此外,结果表明,多态的优点使程序可以提高可重用性,它也减少了代码的重复编写,同时允许特定类之外的类可以得到适用。
它促进了软件不断更新,因为多态给开发人员提
供了以对象层次组织代码的方法。
本练习涉及到Java继承与多态概念的整体概述和实现细节,为完全理解多态的概念
打下了坚实的基础。
它提供了一个理解和使用这些概念的有用方式和指导。
实验三_继承与多态_(学号+姓名)

课程名称
面向对象程序设计
实验名称
实验三、继承与多态
日期
学生学号
姓名
班级
实验目的:
通过本次实验,要求学生能进一步掌握继承和多态的概念,熟练定义类、派生类、抽象类、抽象方法、虚拟方法和重载方法。实验条Biblioteka :电脑一台、能上网查阅资料。
首先定义基本几何图形的抽象基类(Shape),然后定义Shape的派生类Circle(圆形)、Square(正方形)和Triangle(三角形)。要求通过抽象方法、虚拟方法和重载方法来计算各种图形的面积和周长。(提示:求三角形的面积用海伦公式: ,其中a,b,c是三角形的边长,L=(a+b+c)/2,即周长的一半。)
源代码:
实验结果:
实验总结(结论或问题分析):
实验成绩
任课教师签名
郭俊恩
继承与多态实验报告心得

继承与多态实验报告心得
在进行继承与多态的实验过程中,我深刻理解了这两个面向对象编程的重要概念,并且在实践中体会到了它们的实际应用。
首先,继承是面向对象编程的一个基本特性,它允许创建新的类从已有的类中继承属性和方法。
在实验中,我创建了一个基类,然后通过继承来创建了多个子类。
这样,我可以在基类中定义一些通用的属性和方法,然后在子类中进行扩展或覆盖,实现了代码的重用和灵活性的提高。
通过继承,我可以很方便地创建出一个对象的不同类型的实例,从而满足不同的需求。
其次,多态是继承的一个重要特性,它允许使用基类类型的引用来引用一个子类的对象。
在实验中,我通过多态实现了一个统一的接口,使得可以以一种统一的方式处理不同类型的对象。
这样,我可以将具有相同行为的对象进行统一管理,提高了代码的灵活性和可扩展性。
在实验中,我还学会了使用抽象类和接口来实现多态。
抽象类提供了一种定义通用行为的方式,而接口则定义了一组方法的规范。
通过使用抽象类和接口,我可以定义一些通用的方法和属性,然后在具体的子类中进行实现和具体化。
这种方式可以有效地提高代码的可读性和可维护性。
继承与多态的实验为我提供了一个很好的学习机会,让我更深入地理解了面向对象编程的原理和思想。
通过实际操作,我不仅加深了对这两个概念的理解,还提升了自己的编程能力。
我相信,在以后的学习和工作中,我会继续运用这些知识,开发出更加高效和灵活的程序。
接口的应用实验报告(3篇)

第1篇一、实验目的1. 理解接口的概念和作用。
2. 掌握接口的使用方法,包括接口的定义、实现和继承。
3. 通过实际应用,加深对接口的理解和应用能力。
二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容1. 接口的基本概念2. 接口的定义和实现3. 接口的继承和多态4. 接口的应用实例四、实验步骤1. 接口的基本概念(1)打开Eclipse,创建一个名为“InterfaceDemo”的Java项目。
(2)在项目中创建一个名为“Shape”的接口,包含一个抽象方法“draw()”。
```javapublic interface Shape {void draw();}```2. 接口的定义和实现(1)在项目中创建一个名为“Circle”的类,实现“Shape”接口。
```javapublic class Circle implements Shape {@Overridepublic void draw() {System.out.println("Drawing a circle.");}}```(2)在项目中创建一个名为“Rectangle”的类,实现“Shape”接口。
```javapublic class Rectangle implements Shape {@Overridepublic void draw() {System.out.println("Drawing a rectangle.");}}```3. 接口的继承和多态(1)在项目中创建一个名为“Triangle”的类,继承“Circle”类,并实现“Shape”接口。
```javapublic class Triangle extends Circle implements Shape {public void draw() {System.out.println("Drawing a triangle.");}}```(2)创建一个名为“Main”的类,用于测试接口的应用。
JAVA 继承和多态实验报告

实验项目名称:继承和多态(所属课程:Java语言程序设计)院系:专业班级:姓名:学号:实验地点:指导老师:本实验项目成绩:教师签字:日期:1.实验目的(1)掌握类的继承机制。
(2)熟悉类中成员变量和方法的访问控制。
(3)熟悉方法或构造方法多态性。
2.实验内容(1)模拟编写程序,理解类的继承、多态、继承和多态规则。
(2)独立编程,实现类的继承和多态。
3.实验作业设计一个类Shape(图形)包含求面积和周长的area()方法和perimeter()方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle(圆形)类、Rectangle (矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。
每个类都要覆盖toString方法。
海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2程序代码为:Class包package Class;public class Shape {private String color = "while";public Shape(String color){this.color = color;}public void setColor(String color){this.color = color;}public String getColor(){return color;精选文库}public double getArea(){return 0;}public double getPerimeter(){return 0;}public String toString(){return"color:" + color;}}package Class;public class Circle extends Shape {private double radius;public Circle(String color,double radius) {super(color);this.radius = radius;}public void setRadius(double radius){this.radius = radius;}public double getRadius(){return radius;}public double getCircleArea(){return 3.14*radius*radius;}public double getCirclePerimeter(){return 3.14*2*radius;}public String toString(){return"The Area is:" + getCircleArea()+ "\nThe Perimeter is:" + getCirclePerimeter();}}package Class;public class Rectangle extends Shape{private double width;private double height;public Rectangle(String color,double width,double height) { super(color);this.width = width;this.height = height;}public void setWidth(double width){this.width = width;}public double getWidth(){return width;}public void setHeight(double height){this.height = height;}public double getHeight(){return height;}public double getRectangleArea(){return width*height;}public double getRectanglePerimeter(){return 2*(width + height);}public String toString(){return"The Area is:" + getRectangleArea()+ "\nThe Perimeter is:" + getRectanglePerimeter();}}package Class;public class Triangle extends Shape{private double a;private double b;private double c;private double s;public Triangle(String color,double a,double b,double c, double s){ super(color);this.a = a;this.b = b;this.c = c;this.s = s;}public void setA(double a){this.a = a;}public double getA(){return a;}public void setB(double b){this.b = b;}public double getB(){return b;}public void setC(double c){this.c = c;}public double getC(){return c;}public double getTriangleArea(){return Math.sqrt(s*(s-a)*(s-b)*(s-c));}public double getTrianglePerimeter(){return a + b + c;}public String toString(){return"The Area is:" + getTriangleArea()+ "\nThe Perimeter is:" + getTrianglePerimeter();}}Main包package Main;import Class.Shape;import Class.Circle;import Class.Rectangle;import Class.Triangle;import java.util.Scanner;public class test {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入圆的半径: ");double radius = input.nextDouble();Circle circle = new Circle(null, radius);System.out.println(circle.toString());System.out.print("\n请输入矩形的宽: ");double width = input.nextDouble();System.out.print("请输入矩形的高: ");double height = input.nextDouble();Rectangle rectangle = new Rectangle(null, width, height);System.out.println(rectangle.toString());System.out.print("\n请输入三角形的第一条边 a: ");精选文库double a = input.nextDouble();System.out.print("请输入三角形的第二条边 b: ");double b = input.nextDouble();System.out.print("请输入三角形的第三条边 c: ");double c = input.nextDouble();double s = (a + b + c)/2;Triangle triangle = new Triangle(null, a, b, c, s);System.out.println(triangle.toString());}}运行结果为:4.实验总结(1)通过实验掌握了类的继承机制。
继承与多态实验报告

实验五继承与多态理解继承与多态的概念,掌握三种访问控制的区别,掌握抽象类、接口与包的应用。
二、实验内容:1. 参考教材P112,示例程序C5_17,掌握抽象类的应用。
2. 参考教材P116,示例程序C5_19,掌握接口的使用方法。
3. 参考教材P121,示例程序C5_20,掌握包的使用方法。
三、实验要求:1.完成示例程序的验证。
2.写出实验报告。
四、实验步骤与结果:(由学生按照实验内容完成)1. 示例程序c5_17import java.awt.*;import java.applet. *;abstract class Shapes //定义一个抽象类Shapes{public int x,y; //x、y为画图的坐标public int width,height;public Shapes(int x,int y,int width,int height){ this.x=x;this.y=y;this.width=width;this.height=height;}abstract double getArea( ); //求图形面积的抽象方法abstract double getPerimeter( ); //求图形周长的抽象方法}class Square extends Shapes //由抽象类Shapes派生的子类——矩形类{public double getArea( ){return(width*height);}public double getPerimeter( ){return(2*width+2*height);}public Square(int x,int y,int width,int height){ super(x,y,width,height); }}class Triangle extends Shapes //由抽象类Shapes派生的子类——三角形类{public double c; //斜边public double getArea( ){return(0.5*width*height);}public double getPerimeter( ){return(width+height+c);}public Triangle(int x,int y,int base,int height){super(x,y,base,height);c=Math.sqrt(width*width+height*height);}}class Circle extends Shapes //由抽象类Shapes派生的子类——圆类{public double r; //半径public double getArea( ){return(r*r*Math.PI);}public double getPerimeter( ){return(2*Math.PI*r);}public Circle(int x,int y,int width,int height){super(x,y,width,height);r=(double)width/2.0;}}public class c5_18 extends Applet{/****/private static final long serialVersionUID = -L;Square Box=new Square(5,15,25,25);Triangle tri=new Triangle(5,50,8,4);Circle Oval=new Circle(5,90,25,25);public void paint(Graphics g){//画正方形g.drawRect(Box.x,Box.y,Box.width,Box.height);g.drawString("Box Area:"+Box.getArea( ),50,35);g.drawString("Box Perimeter:"+Box.getPerimeter( ),50,55);g.drawString("tri Area:"+tri.getArea( ),50,75);g.drawString("tri Perimeter:"+tri.getPerimeter( ),50,95);g.drawOval(Oval.x,Oval.y,Oval.width,Oval.height); //画圆g.drawString("oval Area:"+Oval.getArea( ),50,115);}}2. 示例程序C5_19import java.awt.*;import java.applet.*;interface Shapes{ abstract double getArea( );abstract double getPerimeter( );}class Coordinates{int x,y;public Coordinates(int x,int y){this.x=x;this.y=y;}}//Square Coordinates Shapesclass Square extends Coordinates implements Shapes{public int width,height;public double getArea( ){return(width*height);}public double getPerimeter( ){return(2*width+2*height);} public Square(int x,int y,int width,int height){super(x,y);this.width=width;this.height=height;}}class Triangle extends Coordinates implements Shapes{public int width,height;public double c;public double getArea( ){return(0.5*width*height);}public double getPerimeter( ){return(width+height+c);}public Triangle(int x,int y,int base,int height){super(x,y);width=base;this.height=height;c=Math.sqrt(width*width+height*height);}}class Circle extends Coordinates implements Shapes{public int width,height;public double r;public double getArea( ){return(r*r*Math.PI);}public double getPerimeter( ){return(2*Math.PI*r);}public Circle(int x,int y,int width,int height){super(x,y);this.width=width;this.height=height;r=(double)width/2.0;}}public class c5_20 extends Applet{/****/private static final long serialVersionUID = L;Square Box=new Square(5,15,25,25);Triangle tri=new Triangle(5,50,8,4);Circle Oval=new Circle(5,90,25,25);public void paint(Graphics g){g.drawRect(Box.x,Box.y,Box.width,Box.height);g.drawString("Box Area:"+Box.getArea( ),50,35);g.drawString("Box Perimeter:"+Box.getPerimeter( ),50,55);g.drawString("tri Area:"+tri.getArea( ),50,75);g.drawString("tri Perimeter:"+tri.getPerimeter( ),50,95);g.drawOval(Oval.x,Oval.y,Oval.width,Oval.height);g.drawString("oval Area:"+Oval.getArea( ),50,115);}}五.总结。
python继承定义多态的实验体会

Python继承定义多态的实验体会1. 引言在面向对象编程中,继承和多态是两个重要的概念。
继承指的是一个类可以继承另一个类的属性和方法,从而实现代码的重用和扩展。
而多态则指的是同一种行为或方法可以用不同的方式实现。
在Python中,继承和多态是通过类和对象的特性来实现的。
本文将通过一个实验来探讨Python继承定义多态的概念和应用。
2. 实验背景在实验之前,我们首先需要了解一些与实验相关的背景知识。
以下是一些基本的概念:•类(Class):类是对象的蓝图或模板,用于定义对象的属性和方法。
•对象(Object):对象是类的一个实例,具有类定义的属性和方法。
•继承(Inheritance):继承是一种机制,允许一个类继承另一个类的属性和方法。
•多态(Polymorphism):多态是指同一种行为或方法可以用不同的方式实现。
3. 实验方法为了说明Python继承定义多态的概念,我们可以通过一个实验来展示其应用。
下面是实验的步骤:1.首先,创建一个父类(ParentClass)和一个子类(ChildClass)。
2.父类中定义一个方法(parent_method),并在子类中重写该方法。
3.创建一个父类对象和一个子类对象。
4.调用对象的方法,并观察多态的效果。
4. 实验代码以下是实验所需的Python代码:class ParentClass:def parent_method(self):print("This is the parent method.")class ChildClass(ParentClass):def parent_method(self):print("This is the overridden method in child class.")parent_obj = ParentClass()child_obj = ChildClass()parent_obj.parent_method()child_obj.parent_method()5. 实验结果运行上述代码,我们可以得到以下结果:This is the parent method.This is the overridden method in child class.从上述结果可以看出,子类对象调用了父类方法时,实际上调用的是子类中重写的方法。
java类的继承与多态实验报告

this.c=c;
}
doublearea() {
doubleL=(a+b+c)/2;
//TODOAuto-generated method stub
returnMath.sqrt(L*(L-a)*(L-b)*(L-c));
}
doublelength() {
//TODOAuto-generated method stub
return4*a;
}
}
packageruanjian.zhaihaiyang.shiyan3;
publicclassCircleextendsShape {
privatedoubler;
publicCircle(doubler,Stringname){
super(name);
this.r=r;
}
doublearea() {
doubleL=(a+b+c)/2;
return2*L;
}
packageruanjian.zhaihaiyang.shiyan3;
publicclassShapeDemo {
publicstaticvoidmain(String[]args) {
Shapes1=null;
s1=newCircle(5,"圆形");
源代码:
packageruanjian.zhaihaiyang.shiyan3;
publicabstractclassShape {
protectedStringname;
publicShape(){
name="图形类";
}
publicShape(Stringname){
继承与多态实验报告

继承与多态实验报告继承与多态实验报告在面向对象编程中,继承和多态是两个重要的概念。
通过继承,我们可以创建新的类,并从现有的类中继承属性和方法。
而多态则允许我们使用父类的引用来指向子类的对象,实现同一操作具有不同的行为。
本实验旨在通过实际的编程实践,加深对继承和多态的理解。
实验一:继承在这个实验中,我们创建了一个动物类(Animal),并从它派生出了两个子类:狗类(Dog)和猫类(Cat)。
动物类具有一些共同的属性和方法,如名字(name)和发出声音(makeSound)。
子类继承了父类的属性和方法,并可以添加自己的特定属性和方法。
在编写代码时,我们首先定义了动物类,并在其中实现了共同的属性和方法。
然后,我们创建了狗类和猫类,并分别在这两个类中添加了自己的特定属性和方法。
通过继承,我们可以在子类中直接使用父类的方法,并且可以根据需要进行重写。
实验二:多态在这个实验中,我们使用多态的概念来实现一个动物园的场景。
我们定义了一个动物园类(Zoo),并在其中创建了一个动物数组。
这个数组可以存储不同类型的动物对象,包括狗、猫等。
通过多态,我们可以使用动物类的引用来指向不同类型的动物对象。
例如,我们可以使用动物类的引用来指向狗对象,并调用狗类特有的方法。
这样,我们可以统一处理不同类型的动物对象,而不需要为每种类型编写特定的处理代码。
实验三:继承与多态的结合应用在这个实验中,我们进一步探索了继承和多态的结合应用。
我们定义了一个图形类(Shape),并从它派生出了三个子类:圆形类(Circle)、矩形类(Rectangle)和三角形类(Triangle)。
每个子类都实现了自己的特定属性和方法。
通过继承和多态,我们可以在图形类中定义一些通用的方法,如计算面积和周长。
然后,我们可以使用图形类的引用来指向不同类型的图形对象,并调用相应的方法。
这样,我们可以轻松地对不同类型的图形进行统一的处理。
结论:通过本次实验,我们进一步理解了继承和多态的概念,并学会了如何在编程中应用它们。
继承与多态性

[标准实验报告]南昌航空大学实验报告2011 年11 月12 日课程名称:面向对象程序设计B 实验名称:继承与多态性班级:10202327 姓名:吕潇同组人:指导教师评定:签名:一、实验目的根据现有类建立新类;学习构造基类和虚函数的用法。
二、实验内容(本次实验要完成的内容)应用VC++6.0的编辑环境构造一个类Jhtx及其派生类,该类主要实现关于几何图形的基本操作。
对于基类“几何图形”,有求面积、求体积的函数(纯虚函数),其派生类圆和矩形主要有初始化(构造函数),求面积,求周长操作,类圆的派生类圆球和圆柱有求表面积、体积操作。
试在主函数中分别定义圆、圆球、圆柱以及矩形的对象,并调用其成员函数实现其相应操作。
三、概要设计(实现的功能,函数原型及说明等)对于基类“几何图形”,有求面积、求体积的函数(纯虚函数),其派生类圆和矩形主要有初始化(构造函数),求面积,求周长操作,类圆的派生类圆球和圆柱有求表面积、体积操作。
试在主函数中分别定义圆、圆球、圆柱以及矩形的对象,并调用其成员函数实现其相应操作。
Geometry(double c) 基类构造函数初始化{r=c;}virtual void GetArea()=0; 求面积的纯虚函数原型virtual void GetPeriMeter()=0; 求周长的纯虚函数原型virtual void GetColume()=0; 求体积的纯虚函数原型四、详细设计(程序中核心代码,并要有相应注释——函数功能、参数说明、重要语句的注解)class Geometry{ 抽象基类public:Geometry(double c){r=c;}//~Geometry();virtual void GetArea()=0; 分别用于求面积周长virtual void GetPeriMeter()=0; 体积的纯虚函数原型virtual void GetColume()=0;protected:double r;};--------------------------------------------------------------class Rectangle:public Geometry{public: 矩形派生类virtual void GetColume(){} 纯虚函数的重定义Rectangle(double a,double b,double c):Geometry(c){x=a;y=b; } 构造函数初始化//~Rectangle();void GetArea() 求面积的纯虚函数{ 在派生类中的重定义cout<<"The Rectangle's Area is";cout<<x*y<<endl;}void GetPeriMeter(){ 纯虚函数重定义cout<<"The Rectangle's PeriMeter is";cout<<2*(x+y)<<endl;}protected:double x;double y;};-------------------------------------------------------------------class Circle:public Geometry{ 派生类圆的类public:virtual void GetColume(){}Circle(double c):Geometry(c) 构造函数{}//~Circle();virtual void GetArea() 求面积的纯虚函数的重定义{cout<<"The Circle's Area is";cout<<3.14*r*r<<endl;}virtual void GetPeriMeter() 求周长的纯虚函数的重定义{cout<<"The Circle's PeriMeter is";cout<<2*3.14*r<<endl;}};------------------------------------------------------------class Ball:public Circle{ 圆的派生类球的类public:Ball(double c):Circle(c){ }virtual void GetArea() 求面积的纯虚函数的重定义{cout<<"The Ball's Surface Area is";cout<<6*3.14*r*r<<endl;}virtual void GetColume() 求体积的纯虚函数的重定义{cout<<"The Ball's V olume is";cout<<(4/3)*3.14*r*r*r<<endl;}//~Ball();};-------------------------------------------------------------------class Column:public Circle{ 园的派生类圆柱的类public:Column(double h,double c):Circle(c){H=h;}virtual void GetArea() 求面积的纯虚函数的重定义{cout<<"The Column's Surface Area is";cout<<(2*3.14*r*r)+(2*3.14*r*H)<<endl;}virtual void GetColume() 求体积的纯虚函数的重定义{cout<<"The Column's V olume is";cout<<3.14*r*r*H<<endl;}//~Column();protected:double H;};五、程序调试(包括调试过程中遇到的问题及解决方法、程序测试数据及结果)class Ball:public Circle{Public:Ball(double c):Circle(c){ }virtual void GetArea(){cout<<"The Ball's Surface Area is";cout<<6*3.14*r*r<<endl;}virtual void GetColume(){cout<<"The Ball's Volume is";cout<<(4/3)*3.14*r*r*r<<endl;}//~Ball();};在派生类球的类中将 public 写成Public导致错误不能编译成功六、实验总结(对实验过程中出现的问题进行总结、指出程序中还需进一步完善的地方、在本次实验中学到的内容及自身不足等)对本次试验进行总结:1.应对实验整体架构进行了解。
实验报告5 继承与多态

实验名称:继承与多态一.实验目的:((1)理解继承的含义,掌握派生类的定义方法和实现;(2)理解虚函数在类的继承层次中的作用,虚函数的引入对程序运行时的影响,能够对使用虚函数的简单程序写出程序结果。
(3)编写体现类的继承性(成员变量,成员方法,成员变量隐藏)的程序;(4)编写体现类多态性(成员方法重载,构造方法重载)的程序。
(5)理解接口和抽象类、抽象方法的定义和实现方法;(5)理解接口和抽象类的差别。
二.上机内容:(1)进行类的继承和基类构造方法的应用的练习;(2)进行类的多态性练习(3)进行抽象类和接口的练习(4)整理上机步骤,总结经验和体会。
(5)完成实验报告。
三.上机步骤:类的继承和基类构造方法的应用(1)编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班级和成绩,教师数据有编号、姓名、职称和部门。
要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师类数据操作类teacher的基类。
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication2{class person{public string bh;//编号public string xm;//姓名public person(string bh, string xm){this.bh = bh;this.xm = xm;}public void show(){Console.WriteLine("姓名:{0}", xm);Console.WriteLine("编号:{0}", bh);}}class student : person{public string bj;//班级public int cj;//成绩public student(string sbh, string sxm, string sbj, int scj): base(sbh, sxm){bh = sbh;xm = sxm;bj = sbj;cj = scj;}public new void show(){Console.WriteLine("***student***");Console.WriteLine("姓名:{0}", xm);Console.WriteLine("编号:{0}", bh);Console.WriteLine("班级:{0}", bj);Console.WriteLine("成绩:{0}", cj);}}class teacher : person{public string zc;//职称public string bm;//部门public teacher(string tbh, string txm, string tzc, string tbm) : base(tbh, txm){bh = tbh;xm = txm;zc = tzc;bm = tbm;}public new void show(){Console.WriteLine("***teacher***");Console.WriteLine("姓名:{0}", xm);Console.WriteLine("编号:{0}", bh);Console.WriteLine("职称:{0}", zc);Console.WriteLine("部门:{0}", bm);}}class program{static void Main(string[] args){student st = new student("050013", "张三", "信管091", 91);st.show();teacher te = new teacher("046950", "范仲淹", "特级教师", "教务处"); te.show();Console.ReadLine();}}}运行结果:(2)将以上程序尝试改成通过调用基类构造方法的方式来初始化编号和姓名,并总结调用基类构造方法的应用要点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三继承和多态
一、实验目的
1.熟练掌握封装性,多态性的概念。
2.熟练掌握抽象类abstract的概念。
3.熟练掌握接口interface的概念。
4.熟练包package的概念以及编译运行的方法。
二、实验内容
1.编写一个Java Application程序,该程序有个点Point类,它包含横坐标x和纵坐标y 两个属性,再给Point定义两个构造方法和一个打印点坐标的方法Show。
定义一个圆Circle 类,它继承Point类(它是一个点,圆心(Center)),除此之外,还有属性半径Radius,再给圆定义2个构造方法、一个打印圆的面积的方法PrintArea和一个打印圆中心、半径的方法Show(其中显示圆心可以用super.Show()的方式)。
编写一测试类,对其进行编译、运行。
结果如何?如去掉语句“super.Show();”,再看看运行结果。
理解程序中重载和多态性的运用。
2.完成以下步骤要求:
(1)设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x和y值的public方法。
(2)设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r,获取和设置r值的public方法、计算圆面积的public 方法。
(3)设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包含有表示圆柱体高的protected类型的成员变量h、获取和设置h值的public方法、计算圆柱体体积的public 方法。
(4)建立若干个Cylinder对象,输出其轴心位置坐标、半径、高及其体积的值。
3.学校中有老师和学生两类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。
(1)设计两个信息管理接口StudentInterface和TeacherInterfaceo其中,StudentInterface接口包括setFee方法和getFee方法,分别用于设置和获取学生的学费;TeacherInterface接口包括setPay方法和getPay方法,分别用于设置和获取教师的工资。
(2)定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface 接口,它定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。
(3)创建一个姓名为"zhangsan"的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“provide a loan”(需要贷款)信息。
1.编辑、编译、运行和调试以下程序,说明程序功能;改变变量n的初值,观察运行结果变化;若“for(i=1;i<n;i++)”语句后加上“;”,结果会怎样?
2.编写一个Java应用程序。
用户从键盘输入两个数,程序判断两个数的大小后,将最大的一个数输出。
提示:
为实现从键盘上输入数据,除了课堂上讲授的方法外,还可以通过输入对话框来实现。
首先导入类:
import javax.swing.*;
然后执行
String strNumber1=JOptionPane.showInputDialog("请输入第一个数");
String strNumber2=JOptionPane.showInputDialog("请输入第二个数");
语句,可以分别弹出一个输入字符串数据对话框,用户输入的字符串将分别返回给strNumber1和strNumber2。
最后为了比较两数大小,还需将字符串转化为数值。
执行
int number1=Integer.parseInt(strNumber1);
int number2=Integer.parseInt(strNumber2);
语句。
可以将形如"23"和"25"的字符串转化为int型数据。
3. 编写一个Java应用程序。
运行时向用户提问“你考试考了多少分?”,接受输入后判断其等级,显示等级。
规则如下:
优:90≤分数≤100
良:80≤分数<90
中:70≤分数<80
及格:60≤分数<70
差:0≤分数<60
4. 编写一个Java应用程序。
输出'A'到'Z'的Unicode码值。
输出格式为:字符=码值。
每行输出5个字符的码值。
5.产生10个2~100的随机正整数,然后逐个判断这10个数是不是素数,并输出判断的结果。
素数是指除了1和它自身以外不能被其他整数整除的数。
提示:
产生随机数可以有多种方法,其中之一是:
首先导入类:
import java.util.*;
执行
Random rand=new Random();
int value=rand.nextInt(100)+1;
语句,可以随机产生2~100的数,并将返回值给变量value。
实验一
1.给定一个一维整型数组,实现以下功能:
(1)求数组元素中的最大值;
(2)求数组元素中的最小值;
(3)求某个关键字在数组中的序号,若给定关键字在数组中不存在,返回-1;
(4)将数组中所有元素按升序重新排列;
(5)判断数组的元素序列是否己排序;
要求每个功能用一个方法实现,并编写main方法进行测试。
2.编写一个方法找出两个字符串中所有共同的字符,并在main方法中通过键盘输入两个字符串进行测试。
3.声明银行账户类,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等账户信息,成员方法包括开户、存款、取款、查询余额、销户等操作。
4.声明一个矩阵类,使用二维数组存储矩阵元素,实现以下方法:
(1)输出矩阵类中所有元素值;
(2)返回当前矩阵的转置矩阵;
(3)判断当前矩阵是否是上三角矩阵;
(4)将当前矩阵加上另一矩阵;
(5)将当前矩阵与另一个矩阵相加,不改变当前矩阵;
(6)判断当前矩阵与另一个矩阵是否相等。