Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 487e0ba

Browse files
Update java018.md
1 parent c18405f commit 487e0ba

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

‎JavaLesson018/java018.md‎

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
### Farklı enum'lar için equals metodu false değerini döndürür
12
```java
23
/*----------------------------------------------------------------------------------------------------------------------
34
12.09.2020
@@ -20,6 +21,7 @@ class App {
2021
enum Color {RED, GREEN, BLUE}
2122
enum MartialStatus {MARRIED, SINGLE, DIVORCED}
2223
```
24+
### Aynı durum compareTo metodu için geçerli değildir.
2325
```java
2426
/*----------------------------------------------------------------------------------------------------------------------
2527
Aynı durum compareTo metodu için geçerli değildir. Çünkü compareTo metodunun parametresi aynı enum türündendir
@@ -39,6 +41,7 @@ class App {
3941
enum Color {RED, GREEN, BLUE}
4042
enum MartialStatus {MARRIED, SINGLE, DIVORCED}
4143
```
44+
### enum türleri switch deyimi ile de kullanılabilmektedir.
4245
```java
4346
/*----------------------------------------------------------------------------------------------------------------------
4447
enum türleri switch deyimi ile de kullanılabilmektedir. Bu durumda case bölümlerine ilişkin sabitler şüphesiz
@@ -76,6 +79,7 @@ class App {
7679

7780
enum MaritalStatus {MARRIED, SINGLE, DIVORCED}
7881
```
82+
### Aşağıdaki örnekte split metodu daha kolay kullanılır hale getirilmiştir.
7983
```java
8084
/*----------------------------------------------------------------------------------------------------------------------
8185
Aşağıdaki örnekte split metodu daha kolay kullanılır hale getirilmiştir. İlgili metot StringUtil sınıfına da
@@ -115,6 +119,7 @@ class Util {
115119
}
116120
}
117121
```
122+
### Sınıflararası ilişkiler: (İçerme (composition), Birleşme (aggregation),Çağrışım (association),Kalıtım/Türetme (inheritance))
118123
```java
119124
/*----------------------------------------------------------------------------------------------------------------------
120125
Sınıflararası ilişkiler: Sınıflararası ilişkiler aslında nesneler arasındaki ilişkisi temsil eder. Örneğin araba
@@ -160,6 +165,7 @@ class Util {
160165
ortada yine bir bağımlılık (dependency) söz konusudur. Bu da yine genel durumu bozmaz.
161166
----------------------------------------------------------------------------------------------------------------------*/
162167
```
168+
### A ile B arasındaki composition ilişkisinin genel biçimi
163169
```java
164170
/*----------------------------------------------------------------------------------------------------------------------
165171
A ile B arasındaki composition ilişkisinin genel biçimi
@@ -208,6 +214,7 @@ class B {
208214
}
209215
}
210216
```
217+
### Car, Plane ve Engine sınıfları arasındaki ilişkiler
211218
```java
212219
/*----------------------------------------------------------------------------------------------------------------------
213220
Car, Plane ve Engine sınıfları arasındaki ilişkiler
@@ -324,6 +331,7 @@ class Engine {
324331
//...
325332
}
326333
```
334+
### A ile B arasındaki aggregation ilişkisinin genel biçimi
327335
```java
328336
/*----------------------------------------------------------------------------------------------------------------------
329337
A ile B arasındaki aggregation ilişkisinin genel biçimi
@@ -388,6 +396,7 @@ class B {
388396
}
389397
}
390398
```
399+
### Command ile Connection sınıfları arasındaki aggregation ilişkisi
391400
```java
392401
/*----------------------------------------------------------------------------------------------------------------------
393402
Command ile Connection sınıfları arasındaki aggregation ilişkisi
@@ -482,6 +491,7 @@ class Connection {
482491
}
483492
}
484493
```
494+
### A ile B arasındaki association ilişkisinin genel biçimi
485495
```java
486496
/*----------------------------------------------------------------------------------------------------------------------
487497
A ile B arasındaki association ilişkisinin genel biçimi
@@ -519,6 +529,7 @@ class B {
519529
}
520530
}
521531
```
532+
### Taxi, Driver ve Client sınıfları arasındaki ilişkiler
522533
```java
523534
/*----------------------------------------------------------------------------------------------------------------------
524535
Taxi, Driver ve Client sınıfları arasındaki ilişkiler
@@ -567,6 +578,7 @@ class Client {
567578
//...
568579
}
569580
```
581+
### String sınıfı immutable olduğundan aşağıadaki ilişki ne aggregation ne de composition'dır.
570582
```java
571583
/*----------------------------------------------------------------------------------------------------------------------
572584
13.09.2020
@@ -629,6 +641,7 @@ class Person {
629641
}
630642
}
631643
```
644+
## Türetme (inheritance)
632645
```java
633646
/*----------------------------------------------------------------------------------------------------------------------
634647
Türetme (inheritance) kavramı programlamada bir sınıfı genişletmek (extension) için kullanılır. Bu genişletme
@@ -661,9 +674,10 @@ class Person {
661674
İngilizce olarak mottosu "Open for extension closed for modification" dır.
662675
----------------------------------------------------------------------------------------------------------------------*/
663676
```
677+
### Java'da türetme extends anahtar sözcüğü ile aşağıdaki gibi yapılır
664678
```java
665679
/*----------------------------------------------------------------------------------------------------------------------
666-
Java'da türetme extends anahtar sözcüğü ile aşğıdaki gibi yapılır
680+
Java'da türetme extends anahtar sözcüğü ile aşağıdaki gibi yapılır
667681
----------------------------------------------------------------------------------------------------------------------*/
668682
package org.csystem.app;
669683

@@ -690,6 +704,7 @@ class A {
690704
//...
691705
}
692706
```
707+
### Taban sınıfın metotları türemiş sınıfa da aktarılır.
693708
```java
694709
/*----------------------------------------------------------------------------------------------------------------------
695710
Taban sınıfın metotları türemiş sınıfa da aktarılır. Aşağıdaki örnekte foo ve bar metotları B sınıfında da vardır.
@@ -727,6 +742,7 @@ class A {
727742
}
728743
}
729744
```
745+
### Bir dizi türetme durumu
730746
```java
731747
/*----------------------------------------------------------------------------------------------------------------------
732748
Bir dizi türetme durumu
@@ -771,6 +787,7 @@ class A {
771787
}
772788
}
773789
```
790+
### Türemiş sınıf referansı ile taban sınıfın non-static bir veri elemanına erişilebilir.
774791
```java
775792
/*----------------------------------------------------------------------------------------------------------------------
776793
Türemiş sınıf referansı ile taban sınıfın non-static bir veri elemanına erişilebilir. Yani taban sınıfın non-static
@@ -802,6 +819,7 @@ class A {
802819
public int x;
803820
}
804821
```
822+
### Bir dizi türetme durumu
805823
```java
806824
/*----------------------------------------------------------------------------------------------------------------------
807825
Bir dizi türetme durumu
@@ -835,6 +853,7 @@ class A {
835853
public int x;
836854
}
837855
```
856+
### Türemiş sınıf nesnesinin yaratılması aşamasında ctor çağrısından önce taban sınıfın ctor'u çağrılır.
838857
```java
839858
/*----------------------------------------------------------------------------------------------------------------------
840859
Türemiş sınıf nesnesinin yaratılması aşamasında ctor çağrısından önce taban sınıfın ctor'u çağrılır. Herhangi bir
@@ -872,6 +891,7 @@ class A {
872891
}
873892
}
874893
```
894+
### Aşağıdaki örnekte A'nın default ctor'u private olduğundan B sınıfının bildiriminde error oluşur
875895
```java
876896
/*----------------------------------------------------------------------------------------------------------------------
877897
Aşağıdaki örnekte A'nın default ctor'u private olduğundan B sınıfının bildiriminde error oluşur
@@ -904,6 +924,7 @@ class A {
904924
}
905925
}
906926
```
927+
### Aşağıdaki örnekte A'nın default ctor'u olmadığından B sınıfının bildiriminde error oluşur
907928
```java
908929
/*----------------------------------------------------------------------------------------------------------------------
909930
Aşağıdaki örnekte A'nın default ctor'u olmadığından B sınıfının bildiriminde error oluşur
@@ -936,6 +957,7 @@ class A {
936957
}
937958
}
938959
```
960+
### Türemiş sınıfı yazan programcı super ctor sentaksı ile türemiş sınıfın istenilen ctor'unun çağrılmasını sağlayabilir.
939961
```java
940962
/*----------------------------------------------------------------------------------------------------------------------
941963
Türemiş sınıfı yazan programcı super ctor sentaksı ile türemiş sınıfın istenilen ctor'unun çağrılmasını
@@ -978,6 +1000,7 @@ class A {
9781000
}
9791001
}
9801002
```
1003+
### super ctor sentaksı ctor'un ilk deyimi olmalıdır
9811004
```java
9821005
/*----------------------------------------------------------------------------------------------------------------------
9831006
super ctor sentaksı ctor'un ilk deyimi olmalıdır
@@ -1018,6 +1041,7 @@ class A {
10181041
}
10191042
}
10201043
```
1044+
### super ctor sentaksı adından da anlaşılacağı gibi yalnızca ctor'larda kullanılabilir
10211045
```java
10221046
/*----------------------------------------------------------------------------------------------------------------------
10231047
super ctor sentaksı adından da anlaşılacağı gibi yalnızca ctor'larda kullanılabilir
@@ -1063,6 +1087,7 @@ class A {
10631087
}
10641088
}
10651089
```
1090+
### ** ile belirtilen super ctor sentaksı default ctor çağrısı demek olduğundan yazılması ya da yazılmamamsı aynı anlamdadır.
10661091
```java
10671092
/*----------------------------------------------------------------------------------------------------------------------
10681093
** ile belirtilen super ctor sentaksı default ctor çağrısı demek olduğundan yazılması ya da yazılmamamsı aynı
@@ -1106,6 +1131,7 @@ class A {
11061131
}
11071132
}
11081133
```
1134+
### Bir dizi türetme durumunda taban sınıfın ctor'unun çağrılması
11091135
```java
11101136
/*----------------------------------------------------------------------------------------------------------------------
11111137
Bir dizi türetme durumunda taban sınıfın ctor'unun çağrılması
@@ -1152,6 +1178,7 @@ class A {
11521178
}
11531179
}
11541180
```
1181+
### Bazı durumlarda bir sınıfın ctor'u içerisinde sınıfın başka bir ctor'unun çağrılması gerekebilir. Bu durumda this ctor sentaksı kullanılır
11551182
```java
11561183
/*----------------------------------------------------------------------------------------------------------------------
11571184
Bazı durumlarda bir sınıfın ctor'u içerisinde sınıfın başka bir ctor'unun çağrılması gerekebilir. Bu durumda
@@ -1233,6 +1260,7 @@ class A {
12331260
}
12341261
}
12351262
```
1263+
### this ctor sentaksı da ctor'un ilk deyimi olmak zorundadır
12361264
```java
12371265
/*----------------------------------------------------------------------------------------------------------------------
12381266
this ctor sentaksı da ctor'un ilk deyimi olmak zorundadır
@@ -1275,6 +1303,7 @@ class A {
12751303
}
12761304
}
12771305
```
1306+
### this ve super ctor sentaksları aynı anda bulunamazlar.
12781307
```java
12791308
/*----------------------------------------------------------------------------------------------------------------------
12801309
this ve super ctor sentaksları aynı anda bulunamazlar. Böyle bir durumla karşılaşan programcı yazdığı koda
@@ -1315,6 +1344,7 @@ class A {
13151344
}
13161345
}
13171346
```
1347+
### this ctor sentaksında döngüsel durum geçersizdir
13181348
```java
13191349
/*----------------------------------------------------------------------------------------------------------------------
13201350
this ctor sentaksında döngüsel durum geçersizdir
@@ -1345,6 +1375,7 @@ class A {
13451375
}
13461376
}
13471377
```
1378+
### Aşağıdaki durum da döngüseldir
13481379
```java
13491380
/*----------------------------------------------------------------------------------------------------------------------
13501381
Aşağıdaki durum da döngüseldir
@@ -1379,6 +1410,7 @@ class A {
13791410
}
13801411
}
13811412
```
1413+
### Aşağıdaki örnekte tür dönüştürme operatörü kullanılarak double parametreli ctor'un çağrılması sağlanmıştır
13821414
```java
13831415
/*----------------------------------------------------------------------------------------------------------------------
13841416
Aşağıdaki örnekte tür dönüştürme operatörü kullanılarak double parametreli ctor'un çağrılması sağlanmıştır
@@ -1409,6 +1441,7 @@ class A {
14091441
}
14101442
}
14111443
```
1444+
### Java'da bir sınıf herhangi bir sınıftan extends anahtar sözcüğü ile türetilmese bile java.lang paketi içerisinde bulunan Object isimli bir sınıftan türetilmiş olur.
14121445
```java
14131446
/*----------------------------------------------------------------------------------------------------------------------
14141447
Java'da bir sınıf herhangi bir sınıftan extends anahtar sözcüğü ile türetilmese bile java.lang paketi içerisinde
@@ -1433,6 +1466,7 @@ class A {
14331466

14341467
}
14351468
```
1469+
### Object sınıfı istenirse extends anahtar sözcüğü ile de bildirimde yazılabilir.
14361470
```java
14371471
/*----------------------------------------------------------------------------------------------------------------------
14381472
Object sınıfı istenirse extends anahtar sözcüğü ile de bildirimde yazılabilir. Şüphesiz bu sınıfın başka bir

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /