/** * Prosty stoper * @author kodatnik.blogspot.com */ class Stoper { // pola prywatne klasy // czas startu stopera private long start; // czas stopu stopera private long stop; // nazwa stopera private String nazwa; // konstruktor bezparametrowy public Stoper() { // przypisujemy pusty łańcuch do pola nazwa // wywołując konstruktor jednoparametrowy z naszej klasy this(""); } // konstruktor z jednym parametrem - nazwa stopera public Stoper(String nazwa) { // przypisujemy do pola nazwa przekazany łańcuch tekstowy this.nazwa = nazwa; } // metoda uruchamiana przy starcie stopera public void start(){ // pobieramy aktualny czas - start stopera start = System.currentTimeMillis(); } // metoda zatrzymująca nasz stoper public void stop(){ // pobieramy aktualny czas - stop stopera stop = System.currentTimeMillis(); } // metoda zwraca w sekundach czas pomiędzy uruchomieniem, a zatrzymaniem stopera public double pobierzWynik(){ // zamiana milisekund na sekundy return (stop - start) / 1000.0; } // przesłonięta metoda toString() public String toString(){ // zwracamy w formie tekstowej informacje o naszym stoperze return nazwa + ": " + this.pobierzWynik() + " s."; } }Proste wykorzystanie naszej klasy:
// tworzymy obiekt klasy Stoper Stoper stoper = new Stoper("Test"); // uruchamiamy stoper stoper.start(); // tutaj instrukcje, których czas wykonania chcemy zmierzyć // zatrzymujemy stoper stoper.stop(); // wyświetlamy na ekranie uzyskany czas System.out.println(stoper);
Do pobrania czasu uzyskanego przez nasz stoper możemy skorzystać z metody pobierzWynik().
Do pobrania czasu uzyskanego przez nasz stoper możemy skorzystać z metody pobierzWynik(). Dostaniemy wtedy liczbę sekund (typ double).
Metoda toString() konwertuje dowolny obiekt na łańcuch tekstowy. Każda klasa w Javie posiada tę metodę (jest ona dziedziczona z klasy Object). Możemy oczywiście przesłonić wersję oryginalną naszą własną tak jak zrobiliśmy to w klasie Stoper.
Operator this odnosi się do bieżącej instancji obiektu, ale również umożliwia odwołanie do dowolnego konstruktora wewnątrz klasy (odwołanie takie jest dokonywane na podstawie typu i liczby parametrów).
1 Komentarz - Przydatna klasa Stoper
wartosciowa wiedza
Prześlij komentarz
Możesz użyć niektórych tagów HTML, takich jak <b>, <i>, <u>, <a> Nie spamuj :)