Initial commit: simple OOP project in Java;

This commit is contained in:
Arkadiusz Hypki 2023-03-21 18:17:54 +01:00
commit 27cf59e60c
11 changed files with 216 additions and 0 deletions

10
.classpath Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
bin

17
.project Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>TestJava</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,14 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=17

9
src/module-info.java Normal file
View File

@ -0,0 +1,9 @@
/**
*
*/
/**
* @author ahypki
*
*/
module TestJava {
}

View File

@ -0,0 +1,29 @@
package net.hypki.testjava.figures;
public class Circle extends Figure {
private double radius;
public Circle() {
super("Circle");
}
public Circle(double radius) {
super("Circle");
setRadius(radius);
}
@Override
public double computeArea() {
return Math.PI * getRadius() * getRadius();
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
}

View File

@ -0,0 +1,40 @@
package net.hypki.testjava.figures;
public abstract class Figure {
private int id = -1;
private String name;
public abstract double computeArea();
public Figure() {
setName("Figure");
}
public Figure(String name) {
setName(name);
}
@Override
public String toString() {
return getName() + " with ID = " + getId()
+ " has area " + computeArea();
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return this.id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -0,0 +1,38 @@
package net.hypki.testjava.figures;
public class Rectangle extends Square {
private double y;
/**
* Default constructor
*/
public Rectangle() {
super("Rectangle");
}
/**
* Constructor with 2 params.
* @param x - width
* @param y - length
*/
public Rectangle(double x, double y) {
super("Rectangle");
setX(x);
setY(y);
}
@Override
public double computeArea() {
return getX() * getY();
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
}

View File

@ -0,0 +1,27 @@
package net.hypki.testjava.figures;
public class Square extends Figure {
private double x;
public Square() {
setName("Square");
}
public Square(String name) {
setName(name);
}
@Override
public double computeArea() {
return getX() * getX();
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
}

View File

@ -0,0 +1,29 @@
package net.hypki.testjava.main;
import net.hypki.testjava.figures.Circle;
import net.hypki.testjava.figures.Figure;
import net.hypki.testjava.figures.Rectangle;
import net.hypki.testjava.figures.Square;
public class Main {
public static void main(String[] args) {
Square sq = new Square();
sq.setId(5);
sq.setX(12);
System.out.println(sq);
Rectangle rec = new Rectangle();
rec.setX(10);
rec.setY(5);
System.out.println(rec);
Rectangle rec2 = new Rectangle(10, 5);
System.out.println(rec2);
Circle c = new Circle(3);
System.out.println(c);
}
}