网站版面如何设计,百度seo词条优化,推广计划书范文,建网站花多少钱此文章仅记录学习#xff0c;欢迎各位大佬探讨
实验#xff08;一#xff09; 面向对象设计
实验目的
①使用类来封装对象的属性和功能#xff1b;
②掌握类变量与实例变量#xff0c;以及类方法与实例方法的区别#xff1b;
知识回顾
详情见OOP课件
实验内容… 此文章仅记录学习欢迎各位大佬探讨
实验一 面向对象设计
实验目的
①使用类来封装对象的属性和功能
②掌握类变量与实例变量以及类方法与实例方法的区别
知识回顾
详情见OOP课件
实验内容
1.编程创建一个Point类
实验要求
在其中定义两个变量表示一个点的坐标值再定义构造函数初始化为坐标原点然后定义一个方法实现点的移动再定义一个方法打印当前点的坐标。并创建一个对象验证。
public class T1 {public static void main(String[] args) {point p new point();p.OrginPoint(10, 10);p.MovePoint(-5, 6);p.PrintPoint();}
}class point {int x, y;void OrginPoint(int a, int b) {this.x a;this.y b;}void MovePoint(int a, int b) {this.x a;this.y b;}void PrintPoint() {System.out.print(当前坐标为 this.x _ this.y);}
}2.继承
实验要求 super实例编写一个Java应用程序该程序包括4个类Teacher类、JavaTeacher 类、DBTeacher 类和主类T3。要求
(1) Teacher类中有成员变量name和age有构造方法Teacher(String name,int age)并且有个teaching()方法在teaching()方法中输出“上课......”的信息。
(2)JavaTeacher 类是Teacher 类的子类有构造方法JavaTeacher(String name,int age)在JavaTeacher 类中重写方法teaching(),在teaching()中调用父类teaching方法输出“打开eclipse编写Java程序”的信息。
(3)DBTeacher 类是Teacher 类的子类有个构造方法DBTeacher(String name,int age)在DBTeacher类中重写方法teaching(),在teaching()中调用父类teaching方法输出“打开oracle编写pl-sql程序”的信息。
(4)在主类T2的main方法中创建JavaTeacher 与DBTeacher 类的对象类测试这2个类的功能。
public class T2 {public static void main(String[] args) {JavaTeacher jtnew JavaTeacher(张三,20);jt.teaching();DBTeacher dbtnew DBTeacher(李四,19);dbt.teaching();}
}class Teacher {String name;int age;public Teacher(String n, int a){this.namen;this.agea;}public void teaching(){System.out.print(上课......);}
}class JavaTeacher extends Teacher{public JavaTeacher(String n, int a) {super(n, a);}public void teaching(){super.teaching();System.out.print(打开eclipse编写Java程序);}
}
class DBTeacher extends Teacher{public DBTeacher(String n, int a) {super(n, a);}public void teaching(){super.teaching();System.out.print(打开oracle编写pl-sql程序);}
}3.接口
实验要求
创建一个描述平面图形的接口Figure添加1个area( ) 方法计算平面图形的面积。再创建2个类Circle(圆类)和Square(正方形类)分别实现接口Figure的area( )方法并写出测试类计算并输出1个圆和一个正方形的面积。
public class T3 {public static void main(String[] args) {Circle cnew Circle();c.area(3);Square snew Square();s.area(4);}
}
interface Figure {default void area() {}
}
class Circle implements Figure {public void area(int radius){System.out.println(3.14*radius*radius);}
}
class Square implements Figure {public void area(int length){System.out.println(length*length);}
}
4.多态
不够灵活的影院售票系统
某软件公司为某电影院开发了一套影院售票系统在该系统中需要为不同类型的用户提供不同的电影票打折方式具体打折方案如下
(1) 学生凭学生证可享受票价8折优惠
(2) 年龄在10周岁及以下的儿童可享受每张票减免10元的优惠原始票价需大于等于20元
(3) 影院VIP用户除享受票价半价优惠外还可进行积分积分累计到一定额度可换取电影院赠送的奖品。
该系统在将来可能还要根据需要引入新的打折方式。
重新设计该软件 public class T4 {public static void main(String[] args) {StudentTicket stnew StudentTicket();st.count();}
}
interface Preferential{double price80.00;default void count(){}
}class StudentTicket implements Preferential{public void count() {System.out.println(0.8*this.price);}
}
class ChildTicket implements Preferential{public void count(){System.out.println(this.price-10);}
}
class VipTicket implements Preferential{public void count(){System.out.println(0.5*this.price);}
}