Mittwoch lesson

This commit is contained in:
sageTheDM 2024-12-19 07:51:04 +01:00
parent e0efeb82ef
commit 8901dea11b
61 changed files with 663 additions and 0 deletions

View file

@ -0,0 +1,7 @@
{
"java.project.sourcePaths": ["src"],
"java.project.outputPath": "bin",
"java.project.referencedLibraries": [
"lib/**/*.jar"
]
}

View file

@ -0,0 +1,18 @@
## Getting Started
Welcome to the VS Code Java world. Here is a guideline to help you get started to write Java code in Visual Studio Code.
## Folder Structure
The workspace contains two folders by default, where:
- `src`: the folder to maintain sources
- `lib`: the folder to maintain dependencies
Meanwhile, the compiled output files will be generated in the `bin` folder by default.
> If you want to customize the folder structure, open `.vscode/settings.json` and update the related settings there.
## Dependency Management
The `JAVA PROJECTS` view allows you to manage your dependencies. More details can be found [here](https://github.com/microsoft/vscode-java-dependency#manage-dependencies).

Binary file not shown.

View file

@ -0,0 +1,24 @@
public class App {
public static void main(String[] args) throws Exception {
Payment creditCard = new CreditCardPayment("1234-5678-9012-3456", "Max Mustermann");
Payment paypal = new PayPalPayment("max@example.com");
Payment bankTransfer = new BankTransferPayment("DE89 3704 0044 0532 0130 00");
processPayment(creditCard, 49.99);
processPayment(paypal, 19.99);
processPayment(bankTransfer, 99.99);
}
public static void processPayment(Payment payment, double amount) {
payment.pay(amount);
}
}

View file

@ -0,0 +1,12 @@
public class BankTransferPayment extends Payment implements IPay {
String securityNumber;
public BankTransferPayment(String securityNumber) {
this.securityNumber = securityNumber;
}
@Override
public void pay(double amount) {
System.out.println("Bezahlung von " + amount + " CHF mit Banktransfer " + securityNumber);
}
}

View file

@ -0,0 +1,14 @@
public class CreditCardPayment extends Payment implements IPay {
String number;
String name;
public CreditCardPayment(String number, String name) {
this.number = number;
this.name = name;
}
@Override
public void pay(double amount) {
System.out.println("Bezahlung von " + amount + " CHF mit Kreditkarte " + number + " von " + name);
}
}

View file

@ -0,0 +1,3 @@
public interface IPay {
public void pay(double amount);
}

View file

@ -0,0 +1,12 @@
public class PayPalPayment extends Payment implements IPay {
String mail;
public PayPalPayment(String mail) {
this.mail = mail;
}
@Override
public void pay(double amount) {
System.out.println("Bezahlung von " + amount + " CHF mit Kreditkarte " + mail);
}
}

View file

@ -0,0 +1,3 @@
public abstract class Payment implements IPay {
public abstract void pay(double amount);
}