程序源入坑之路2

封装:是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。
继承:主要实现重用代码,节省开发时间。
多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。
重载:对于类的方法(包括从父类中继承的方法),方法名相同,参数列表不同的方法之间就构成了重载关系。
覆盖:也叫重写,就是在当父类中的某些方法不能满足要求时,子类中改写父类的方法。当父类中的方法被覆盖了后,除非用super关键字,否则就无法再调用父类中的方法了。
switch:switch语句一定要使用break,否则满足一个语句后,后续语句也会被执行。
父类,子类的继承代码:

package demo1;

public class Triangle extends GeometricObject{
        private double side1;
        private double side2;
        private double side3;
        public Triangle(){
            side1=1;
            side2=1;
            side3=1;
        }
        public Triangle(String color, boolean filled,double side1,double side2,double side3){
            super(color,filled);
            this.side1=side1;
            this.side2=side2;
            this.side3=side3;
        }
        public double getSide1() {
            return side1;
        }
        public void setSide1(double side1) {
            this.side1 = side1;
        }
        public double getSide2() {
            return side2;
        }
        public void setSide2(double side2) {
            this.side2 = side2;
        }
        public double getSide3() {
            return side3;
        }
        public void setSide3(double side3) {
            this.side3 = side3;
        }
        public double getArea(){
            double getArea;
            double p=(side1+side2+side3)/2;
            getArea=Math.sqrt(p*(p-side1)*(p-side2)*(p-side3));
            return getArea;
        }
        public double getPerimeter(){
            double getPerimeter;
            getPerimeter=side1+side2+side3;
            return getPerimeter;
        }
        public String toString(){
            return ("这是一个三角形,边长分别是" + side1 + "\t" + side2 + "\t" + side3 +" "+getArea()+" "+getPerimeter());
        }
        public static void main(String[] args){
            Triangle t1=new Triangle("yellow",true,1,1.5,1);
            System.out.println(t1.toString());

        }

}
public class Car extends Vehicles{
    public int seats;

    public Car() {
        // TODO Auto-generated constructor stub
    }

    public Car(String brand, String color, int seats) {
        super(brand, color);
        this.seats = seats;
    }

    public int getSeats() {
        return seats;
    }
    public void setSeats(int seats) {
        this.seats = seats;
    }
    public void showCar(){
        System.out.println("白色奥拓");
    }

}
public class Truck extends Vehicles{

    public Truck(String brand, String color) {
        super(brand, color);
        // TODO Auto-generated constructor stub
    }
    public float load;
    public float getLoad() {
        return load;
    }
    public void setLoad(float load) {
        this.load = load;
    }
    public void showTruck(){
        System.out.println("黑色皮卡");
    }
}

demo1

package v6;

public class GeometricObject {
    private String color = "white";
    private boolean filled;
    private java.util.Date dateCreated;

    /** Construct a default geometric object */
    public GeometricObject() {
        dateCreated = new java.util.Date();
    }

    /**
     * Construct a geometric object with the specified color and filled value
     */
    public GeometricObject(String color, boolean filled) {
        dateCreated = new java.util.Date();
        this.color = color;
        this.filled = filled;
    }

    /** Return color */
    public String getColor() {
        return color;
    }

    /** Set a new color */
    public void setColor(String color) {
        this.color = color;
    }

    /**
     * Return filled. Since filled is boolean, its get method is named isFilled
     */
    public boolean isFilled() {
        return filled;
    }

    /** Set a new filled */
    public void setFilled(boolean filled) {
        this.filled = filled;
    }

    /** Get dateCreated */
    public java.util.Date getDateCreated() {
        return dateCreated;
    }

    /** Return a string representation of this object */
    public String toString() {
        return "created on " + dateCreated + "\ncolor: " + color
                + " and filled: " + filled;
    }
}
package demo1;

public class Triangle extends GeometricObject{
        private double side1;
        private double side2;
        private double side3;
        public Triangle(){
            side1=1;
            side2=1;
            side3=1;
        }
        public Triangle(String color, boolean filled,double side1,double side2,double side3){
            super(color,filled);
            this.side1=side1;
            this.side2=side2;
            this.side3=side3;
        }
        public double getSide1() {
            return side1;
        }
        public void setSide1(double side1) {
            this.side1 = side1;
        }
        public double getSide2() {
            return side2;
        }
        public void setSide2(double side2) {
            this.side2 = side2;
        }
        public double getSide3() {
            return side3;
        }
        public void setSide3(double side3) {
            this.side3 = side3;
        }
        public double getArea(){
            double getArea;
            double p=(side1+side2+side3)/2;
            getArea=Math.sqrt(p*(p-side1)*(p-side2)*(p-side3));
            return getArea;
        }
        public double getPerimeter(){
            double getPerimeter;
            getPerimeter=side1+side2+side3;
            return getPerimeter;
        }
        public String toString(){
            return ("这是一个三角形,边长分别是" + side1 + "\t" + side2 + "\t" + side3 +" "+getArea()+" "+getPerimeter());
        }
        public static void main(String[] args){
            Triangle t1=new Triangle("yellow",true,1,1.5,1);
            System.out.println(t1.toString());

        }

}

demo3
package demo3;

public class Point {
protected int x;
protected int y;
public Point(){

    }
    public Point(int x,int y){
        this.x=x;
        this.y=y;
    }
    public int getX() {
        return x;
    }
    public void setX(int x) {
        this.x = x;
    }
    public int getY() {
        return y;
    }
    public void setY(int y) {
        this.y = y;
    }
    public static void main(String[] args){
        Point p1=new Point(2,1);
        System.out.println("("+p1.x +","+ p1.y+")");
    }

}

package demo3;

public class Circle extends Point{
protected double r;
public Circle(){

    }
    public Circle(int x, int y ,double r){
        super(x,y);
        this.r=r;
    }
    public double getR() {
        return r;
    }

    public void setR(double r) {
        this.r = r;
    }
    public double findArea(){
        double findArea;
        findArea=Math.PI*r*r;
        return findArea;
    }
    public static void main(String[] args){
        Circle o1=new Circle(1,2,3);
        System.out.println("半径"+o1.r+" 面积"+o1.findArea());
    }

}

package demo3;

public class Cylinder extends Circle{
protected int h;
public Cylinder(){
this.h = 1;
}
public Cylinder(int x,int y,double r ,int h){
super(x,y,r);
this.h=h;
}
public int getH() {
return h;
}
public void setH(int h) {
this.h = h;
}
public double v(){
double v;
v=h*super.findArea();
return v;
}
public static void main(String[] args){
Cylinder c1=new Cylinder(1,2,3,4);
System.out.println(“(“+c1.x +”,”+ c1.y+”)”+” “+c1.r+” “+c1.findArea()+” “+c1.h+” ” +c1.v());
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值