zoukankan      html  css  js  c++  java
  • 2020.8.18

    一、今日学习内容

    多继承:

       1、例题:客货两用车

    复制代码
     1 //接口1:Car
     2 public interface Car {
     3     public void setCar(int p,int s);
     4     public void show1();
     5 }
     6 //接口2:Wagon
     7 public interface Wagon {
     8     public void setWagon(int p,int l);
     9     public void show2();
    10 }
    11 //实现类:
    12 public class StationWagon implements Car,Wagon{
    13     private int power,seat,load;
    14     public void setCar(int p,int s) {
    15         power=p;
    16         seat=s;
    17     }
    18     public void show1() {
    19         System.out.println("car power:"+power);
    20         System.out.println("seat:"+seat);
    21     }
    22     public void setWagon(int p,int l) {
    23         power=p;
    24         load=l;
    25     }
    26     public void show2() {
    27         System.out.println("wagon power:"+power);
    28         System.out.println("load:"+load);
    29     }
    30     public void show() {
    31         System.out.println("Sation Wagon:");
    32     }
    33     public static void main(String[] args) {
    34         StationWagon SW=new StationWagon();
    35         SW.setCar(200,9);
    36         SW.setWagon(200, 100);
    37         SW.show();
    38         SW.show1();
    39         SW.show2();
    40     }
    41 }
    复制代码

      

       2、定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数。 定义一个友元函数Distance(), 用于求两点之间的距离。

    复制代码
     1 import  java.util.Scanner;
     2 public class Point {
     3   private double x; 
     4   private double y; 
     5   public void input() {
     6       Scanner in=new Scanner(System.in);
     7       this.x=in.nextDouble();
     8       this.y=in.nextDouble();
     9   }
    10   public double getX() {
    11       return this.x;
    12   }
    13   public double getY() {
    14       return this.y;
    15   }
    16   public void distance(Point p) {
    17       double d;
    18       d=Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
    19       System.out.printf("%.2f",d);
    20   }
    21   public static void main(String[] args) {
    22       Point p1=new Point();
    23       Point p2=new Point();
    24       System.out.print("请输入点1:");
    25       p1.input();
    26       System.out.print("请输入点2:");
    27       p2.input();
    28       p1.distance(p2);
    29   }
    30 }
    复制代码

      3、复数类

    声明一个复数类Complex(类私有数据成员为double型的real和image)

    定义构造函数,用于指定复数的实部与虚部。

    定义取反成员函数,调用时能返回该复数的相反数(实部、虚部分别是原数的相反数)。

    定义成员函数Print(),调用该函数时,以格式(real, image)输出当前对象。

    编写加法友元函数,以复数对象c1,c2为参数,求两个复数对象相加之和。

    主程序实现:

    (1)读入两个实数,用于初始化对象c1。

    (2)读入两个实数,用于初始化对象c2。

    (3)计算c1与c2相加结果,并输出。

    (4)计算c2的相反数与c1相加结果,并输出。

    复制代码
     1 //复数类
     2 import java.util.Scanner;
     3 public class Complex {
     4   private double real; // 实部
     5   private double image; // 虚部
     6   //无参构造函数
     7   public Complex() {
     8   }
     9   //有参构造函数
    10   public Complex(double real, double image) {
    11       this.real = real;
    12       this.image = image;
    13   }
    14   //取反成员函数
    15   public Complex oppo() {
    16       double a=-this.real;
    17       double b=-this.image;
    18       Complex result=new Complex(a,b);
    19       return result;
    20   }
    21   //输出复数
    22   public void print() {
    23       System.out.println("("+real+","+image+")");
    24   }
    25   // 复数的加法
    26   public static Complex add(Complex c1,Complex c2) {
    27       double real1 = c1.real;
    28       double image1 = c1.image;
    29       double real2=c2.real;
    30       double image2=c2.image;
    31       double a = real1 + real2;
    32       double b = image1 + image2;
    33       Complex c = new Complex(a, b);
    34       return c;
    35   }
    36   public static void main(String[] args) {
    37       Scanner in=new Scanner(System.in);
    38       System.out.print("请输入复数1的实部和虚部:");
    39       double a1=in.nextDouble();
    40       double a2=in.nextDouble();
    41       Complex c1=new Complex(a1,a2);
    42       System.out.print("请输入复数2的实部和虚部:");
    43       double b1=in.nextDouble();
    44       double b2=in.nextDouble();
    45       Complex c2=new Complex(b1,b2);
    46       Complex m=new Complex();
    47       Complex n=new Complex();
    48       m=add(c1,c2);
    49       System.out.println("复数1+复数2:");
    50       m.print();
    51       n=add(c1,c2.oppo());
    52       System.out.println("复数1+复数2的相反数:");
    53       n.print();
    54   }
    55 }
    复制代码

    二、遇到的问题

      无。

    三、明日计划

       继续完成相关例题的验证。

  • 相关阅读:
    springboot mail 发送邮件
    颜色透明度16进制对照表
    Java基础系列之(三)
    QQ2010协议分析系列(五)
    QQ2010协议分析系列(四)
    QQ2010协议分析系列(三)
    QQ2010协议分析系列(二)
    QQ2010协议分析系列(一)
    Java基础系列之(二)
    Java基础系列之(一)
  • 原文地址:https://www.cnblogs.com/marr/p/13580200.html
Copyright © 2011-2022 走看看