Java- Programowanie obiektowe w praktyce

 

Cześć! Ostatnio poznaliśmy programowanie obiektowe oraz inne przydatne konstrukcje,dzięki którym możemy napisać pierwsze większe projekty.Dziś zajmiemy się praktyką.





Zanim zaczniesz czytać tego posta,upewnij się,że wiesz co to są metody,klasy lub objekty.Bez tej wiedzy nie dasz rady pisać żadnych projektów z użyciem programowania obiektowego.Java - Do czego jest programowanie obiektowe.





Prosty kalkulator w Javie



Pewnie wielu z was powie,że nazwa prosty kalkulator nie oznacza łatwości napisania projektu.Nie będzie to takie proste, jednak wszystko wam wytłumaczę.Na starcie deklarujemy zmienne a i b a następnie za pomocą Scannera pobieramy dane od użytkownika.W systemie jest zapisana wartość dwóch liczb,wystarczy napisać instrukcję switch,która będzie te liczby dodawać,odejmować,mnożyć lub dzielić.




import java.util.Scanner;

class Main {
public static void main(String[] args) {

char operator;
Double number1, number2, result;


Scanner input = new Scanner(System.in);


System.out.println("Choose an operator: +, -, *, or /");
operator = input.next().charAt(0);


System.out.println("Enter first number");
number1 = input.nextDouble();

System.out.println("Enter second number");
number2 = input.nextDouble();

switch (operator) {


case '+':
result = number1 + number2;
System.out.println(number1 + " + " + number2 + " = " + result);
break;


case '-':
result = number1 - number2;
System.out.println(number1 + " - " + number2 + " = " + result);
break;


case '*':
result = number1 * number2;
System.out.println(number1 + " * " + number2 + " = " + result);
break;


case '/':
result = number1 / number2;
System.out.println(number1 + " / " + number2 + " = " + result);
break;

default:
System.out.println("Invalid operator!");
break;
}

input.close();
}
}
Program,który doda,odejmie,pomnoży lub podzieli liczby a i b w zależności od naszego wyboru.



Udało nam się napisać pierwszy projekt,jednak nie wykorzystaliśmy programowania obiektowego.Za nim powiecie,że tytuł posta nie pasuje do tego, o czym mówię to przeczytajcie to do końca.Ten projekt można napisać za pomocą metod, w których będzie zakodowane czy dana metoda na coś dodawać bądź robić cokolwiek innego.W takim przypadku w instrukcji switch() zamiast przy każdym case pisać kod,który ma zostać wykonany,będziemy mogli wyświetlić daną metodę, w zależności od tego,jaką operację na liczbach chcemy wykonać.


To-Do list w Javie


Napisaliśmy już pierwszy projekt, teraz czas na drugi.Napiszemy aplikację To-Do list,która wyświetla listę rzeczy do zrobienia.Będzie można dodawać lub usuwać rzeczy,które już zrobiliśmy bądź jeszcze nie zrobiliśmy.




import java.util.Scanner;

public class Todo_Manager {

public static void main(String[] args) {

System.out.println("Welcome to your Todo Manager!\n");
System.out.println("Please Enter your Name: ");
Scanner in = new Scanner(System.in);
String name = in.next();
System.out.println("Hello "+name);

String choice = null;
String[] task = new String[10];
Scanner input = new Scanner(System.in);

do {
//Display the Menu
System.out.println("Please choose an option\n");
System.out.println("1. Enter a task ");
System.out.println("2. Remove a task ");
System.out.println("3. Update a task ");
System.out.println("4. List all tasks ");
System.out.println("5. Exit");
choice = input.nextLine();

switch(choice) {
case "1":
System.out.println("Enter number of tasks: ");
task = input.nextInt();
System.out.println("Enter a task ");
choice = input.nextLine();
break;
case "2":
System.out.println("Remove a task ");
choice = input.nextLine();
break;
case "3":
System.out.println("Remove a task ");
choice = input.nextLine();
break;
case "4":
System.out.println("Remove a task ");
choice = input.nextLine();
break;
case "5":
System.out.println("Remove a task ");
choice = input.nextLine();
break;
}
} while ( Integer.parseInt(choice)>0);
}
}

Najpierw piszemy kod,który pobierze nazwę użytkownika a następnie go przywita.Deklarujemy tablice,do której będą zapisywane nasze zadania oraz wyświetlamy wszystkie opcje naszego programu użytkownikowi.Ostatecznie piszemy instrukcję swich() na celu wykonywania danej czynności,która została wskazana przez użytkownika.





Jak widzimy,konstrukcja switch() jest bardzo przydatna.Zastępuje nam masę kodu oraz jest bardzo łatwa do napisania i czytelna dla innych programistów.


Czym jest słowo kluczowe this?


 Na dzisiaj koniec z praktyką,ponieważ trzeba nauczyć się czegoś nowego.W programowaniu obiektowym często pojawia się takie słowo pod nazwą this.Do czego ono służy? Słowo kluczowe this jest odniesieniem do bieżącego obiektu, czyli np. obiektu którego metodę właśnie wywołujemy. Za pomocą this możemy się odnieść np. do pól, metod czy konstruktorów klasy danego obiektu.This jest najczęściej używane przy konstruktorach.



public class Address {
private String street;
private String postalcode;
private String apartment;
private String city;

public Address(String city, String street, String apartment) {
this.street = street;
this.apartment = apartment;
this.city = city;
}


public String getStreet() {
return street;
}

public void setStreet(String street) {
this.street = street;
}

public String getPostalcode() {
return postalcode;
}

public void setPostalcode(String postalcode) {
this.postalcode = postalcode;
}

public String getApartment() {
return apartment;
}

public void setApartment(String apartment) {
this.apartment = apartment;
}

public String getCity() {
return city;
}

public void setCity(String city) {
this.city = city;
}

@Override
public String toString() {
return "Address{" +
"street='" + street + '\'' +
", postalcode='" + postalcode + '\'' +
", apartment='" + apartment + '\'' +
", city='" + city + '\'' +
'}';

}

public Address(String city, String street, String apartment, String postalcode) {
this.street = street;
this.apartment = apartment;
this.city = city;
this.postalcode = postalcode;


}
}






public class Main {
public static void main(String[] args) {


Address address = new Address("Prosta", "15", "01", "0-12");
address.getPostalcode();
address.getApartment();
address.getCity();
address.getStreet();
System.out.println(address);
}
}
Przykładowy program, w którym jest użyte słowo this oraz inne poznane przez nas konstrukcje i metody.Przypisujemy wartości do pól a następnie program pobiera je od użytkownika i wyświetla w konsoli.Pojawia się metoda toString() którą będziemy omawiać w następnym poście.






Podsumowanie


Napisaliśmy dziś 2 projekty oraz poznaliśmy nowe zagadnienia,które są bardzo ważne do dalszej nauki.Zapraszam do przeczytania ostatnich postów oraz do skomentowania i podzielenia się swoją opinią.






Komentarze

Popularne posty z tego bloga

Java - Czym jest funkcja Main() ? Czym są zmienne? Jak pisać poprawny kod?

Java-Co to? Dlaczego Java? ile mogę zarobić jako developer?