Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kurs_java_alx_20240321
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
kurs_java_alx_20240321
Commits
51174908
Commit
51174908
authored
Apr 11, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dziedziczenie - początek
parent
cd0acb7a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
91 additions
and
0 deletions
+91
-0
Dziedziczenie.java
src/p11_klasy/podstawy/Dziedziczenie.java
+70
-0
Student.java
src/p11_klasy/podstawy/Student.java
+21
-0
No files found.
src/p11_klasy/podstawy/Dziedziczenie.java
0 → 100644
View file @
51174908
package
p11_klasy
.
podstawy
;
public
class
Dziedziczenie
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Osoba:"
);
Osoba
osoba
=
new
Osoba
();
System
.
out
.
println
(
osoba
);
osoba
.
imie
=
"Ala"
;
osoba
.
nazwisko
=
"Kowalska"
;
osoba
.
wiek
=
30
;
System
.
out
.
println
(
osoba
);
// Osoba posiada tylko te elementy, które pochjodzą z klasy Osoba, a nie posiada tych dodanych w klasie Student
// osoba.kierunek = "podróżniczka";
// System.out.println(osoba.kierunek);
System
.
out
.
println
();
System
.
out
.
println
(
"Student:"
);
Student
student
=
new
Student
();
System
.
out
.
println
(
student
);
// Obiekt Student posiada wszystkie te pola i metody, które zostały zdefiniowane w klasie Osoba
student
.
imie
=
"Adam"
;
student
.
nazwisko
=
"Abacki"
;
student
.
wiek
=
20
;
System
.
out
.
println
(
student
);
student
.
przedstawSie
();
// oraz dodatkowo pola i metody zdefiniowane w klasie Student
student
.
kierunek
=
"medycyna"
;
student
.
rok
=
1
;
System
.
out
.
println
(
student
.
imie
+
" studiuje "
+
student
.
kierunek
+
" na "
+
student
.
rok
+
" roku"
);
System
.
out
.
println
(
student
.
sredniaOcen
());
// Dziedziczenie zapewnia nie tylko to, że dostępne są odziedziczone pola i metody,
// ale też na poziomie logicznym "Student jest Osobą"
if
(
student
instanceof
Osoba
)
{
System
.
out
.
println
(
"Student jest osobą"
);
}
else
{
System
.
out
.
println
(
"Student nie jest osobą"
);
}
// We wszystkich miejscach kodu, w które można by włożyć obiekt klasy Osoba, można też włożyć obiekt klasy Student.
// Obiekt Student może być wpisany do zmiennej typu Osoba
Osoba
ktos
=
student
;
System
.
out
.
println
(
ktos
+
" jest klasy "
+
ktos
.
getClass
());
System
.
out
.
println
();
// Student może kupić piwo
Sklep
sklep
=
new
Sklep
(
"Lidl"
,
6
);
sklep
.
sprzedajPiwo
(
student
);
sklep
.
sprzedajPiwo
(
ktos
);
System
.
out
.
println
();
// Student może być właścicielem konta
Konto
kontoStudenckie
=
new
Konto
(
1313
,
123
,
student
);
System
.
out
.
println
(
kontoStudenckie
);
System
.
out
.
println
();
// Kwestia konstruktorów
// W Javie konstruktory nie są dziedziczone z nadklasy.
// Z faktu, że w Osoba istnieje konstruktor typu (String, String, int) nie wynika istnienie takiego konstruktora w klasie Student
// Student student2 = new Student("Marek", "Markowski", 23);
Student
student3
=
new
Student
(
"Marek"
,
"Markowski"
,
23
,
"informatyka"
,
4
);
System
.
out
.
println
(
student3
);
System
.
out
.
println
(
student3
.
imie
+
" studiuje "
+
student3
.
kierunek
+
" na "
+
student3
.
rok
+
" roku"
);
}
}
src/p11_klasy/podstawy/Student.java
0 → 100644
View file @
51174908
package
p11_klasy
.
podstawy
;
public
class
Student
extends
Osoba
{
String
kierunek
;
int
rok
;
public
Student
()
{
}
public
Student
(
String
imie
,
String
nazwisko
,
int
wiek
,
String
kierunek
,
int
rok
)
{
super
(
imie
,
nazwisko
,
wiek
);
this
.
kierunek
=
kierunek
;
this
.
rok
=
rok
;
}
double
sredniaOcen
()
{
return
4.5
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment