Nu tror jag att jag har greppat detta angående abstrakta klasser och gränsnitt.
Jag börjar först att göra en abstrakt klass för fordon, vid namn Vehicle.java. Där beskriver jag abstrakt hur ett fordon är. Alltså sammanfattande hur generellt ett fordon brukar se ut, beter sig, hastighet osv.
package com.company;
public abstract class Vehicle implements IRobot {
private String brand;
private int age;
private double length;
private double speed;
private int wheels;
public Vehicle(String brand, int age, double length, double speed, int wheels) {
this.brand = brand;
this.age = age;
this.length = length;
this.speed = speed;
this.wheels = wheels;
}
public void oil(){
}
public void connect(){
}
public void startUp(){
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double getSpeed() {
return speed;
}
public void setSpeed(double speed) {
this.speed = speed;
}
public int getWheels() {
return wheels;
}
public void setWheels(int wheels) {
this.wheels = wheels;
}
}
Jag gör likadant med en abstrakt klass som heter Person.java. Där beskriver jag abstrakt hur en person är.
package com.company;
public abstract class Person implements IRobot {
private String name;
private int age;
private double height;
private double speed;
public Person(String name, int age, double height, double speed) {
this.name = name;
this.age = age;
this.height = height;
this.speed = speed;
}
public void talk(){
}
public void stay(){
}
public void start(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getHeigth() {
return height;
}
public void setHeigth(double heigth) {
this.height = heigth;
}
public double getSpeed() {
return speed;
}
public void setSpeed(double speed) {
this.speed = speed;
}
}
Nu tänker jag skapa en klass som heter Robot.
public class Robot {
private String microprocessor;
private boolean terminator;
private boolean nucelarPower;
public Robot(String microprocessor, boolean terminator, boolean nucelarPower) {
this.microprocessor = microprocessor;
this.terminator = terminator;
this.nucelarPower = nucelarPower;
}
}
Klassen Robot ska ärva lite metoder och parametrar från både Person och Vehicle. Då använder jag ett gränssnitt.
public interface IRobot {
public void oil();
public void connect();
public void startUp();
public void talk();
public void stay();
public void start();
public void setName(String name);
public String getName();
public int getAge();
public void setAge(int age);
}
Men när jag kör denna kod så får jag error
IRobot iRobot = new Robot("AT-mega", false, true); <<<<----- Denna fungerar inte!
String name = iRobot.getName();
System.out.println("The robot name is: " + name);
iRobot.setName("vICky");
name = iRobot.getName();
System.out.println("The robot name is: " + name);