Java Nitelemleri. Bölüm 1

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Java Nitelemleri. Bölüm 1"

Transkript

1 Bölüm 1 Java Nitelemleri (Modifiers In Java) Java dilinde nitelemler (modifiers), bildirimlerinde java öğelerinin niteliğini belirlemek amacıyla öntakı olarak kullanılan anahtar sözcüklerdir. Şimdiye kadar bazılarını sık sık kullandık. Örneğin, Program public c l a s s Toplama {... p r i v a t e boolean bayrak ; s t a t i c f i n a l double oran = 7.86; protected s t a t i c f i n a l i n t KATSAYI = 12; public s t a t i c void main( String [ ] args ) {... bildirimlerindeki public, private, static ve protected anahtar sözcükleri birer nitelemdir (modifier). Nitelemleri başlıca iki gruba ayırabiliriz: 1

2 2 1. java nitelemleri Erişim Belirtkeleri Öteki Belirtkeler 1.1 Erişim Belirtkeleri Bir java deyimi, belirli bir iş yapan kod veya kodlardan oluşan bloktur. Tek bir komuttan oluşabileceği gibi, birden çok komutu içerebilir. Bir deyim bir değişkeni çağırabiliyorsa; yani değişkene değer atayabiliyor ya da atanan değeri okuyabiliyorsa, o kod söz konusu değişkene erişebiliyor, denir. Örneğin, bir sınıf içindeki bir değişkene değer atayabilen ya da atanan değeri okuyabilen metot o değişkene erişebiliyor. Benzer olarak, bir java kodu bir metodu çağırabiliyorsa; yani çalıştırabiliyorsa, o kod sözkonusu metoda erişebiliyor, diyoruz. Bir sınıfın içindeki kodlar, başka bir sınıfın içindeki değişkenlere ve metotlara erişebiliyorsa, o sınıf sözkonusu sınıfa erişebiliyor, diyoruz. Paketler için de benzer tanım geçerlidir. Bir Java öğesinin (değişken, metot, sınıf, kurucu, arayüz, paket) bildirimi yapılırken, o öğeye kimlerin erişebileceğini belirtme olanağı vardır. Bu eylemi yapan anahtar sözcüklere Erişim Belirtkeleri (Access modifiers), (access levels) denir. Java terimleriyle söylersek, erişim belirtkeleri sistemin güvenliğini sağlar. Dört tane erişim belirtkesi vardır: doğal (default, native) Java öğesinin bildiriminde hiç bir niteleme kullanılmaz; öğenin doğal durumudur. Doğal nitelemde, aynı sınıf ve aynı paket içindeki öğeler birbirlerine erişebilirler. Örneğin, aynı sınıf içinde bir metot bir değişkene erişebilir, başka bir metodu çağırabilir. Aynı paket içindeki öğeler için de bu özelik geçerlidir. public Bu niteleme halka açık sözünün anlamına benzer bir işleve sahiptir. public belirtkesi olan öğelere her yerden erişilebilir. protected Bu öğelere altsınıflar ve aynı pakettekiler erişebilir. 2

3 1.1. Erişim Belirtkeleri 3 private Bu niteleme özel mülkiyet sözünün anlamına benzer bir işleve sahiptir. private belirtkesi olan öğelere ancak aynı sınıftan erişilebilir. Uyarı: Java 1.0 sürümünden önce varolan private protected belirtkesi, sonraki sürümlerden kaldırılmıştır. Yeni programlarda kullanılmaması gerekir. Ancak Java 1.0 sürümünden önce yazılmış programlarda yer almıştır Doğal (default ) Belirtke Bir öğenin önüne hiçbir erişim belirtkesinin konmadığı durumdur. Erişim belirtkesi konmamışsa doğal (default) belirtke etkin olur. Buna, bazı kaynaklarda dostça erişim (frendly access) denir. Doğal erişimli (default) sınıf bildirimi Sınıf bidiriminde, sınıfın önüne hiçbir erişim belirtkesi konmazsa, o sınıf içindeki değişken ve metotlara o sınıfı içeren paketteki bütün kodlar erişebilir. Bildirimi şöyledir: Örnek c l a s s class_adı { 2 Class gövdesi Doğal (default) erişimli metot bildirimi Metot bildiriminde hiçbir erişim belirtkesi konulmazsa, doğal (default) belirke geçerlidir. Doğal erişim nitelemli öğelere sınıftan, altsınıflardan ve aynı paket içindeki diğer sınıflardan erişebilir. Örnek

4 4 1. java nitelemleri i n t topla ( i n t m, i n t n) { 2 return m+n ; Doğal (default) erişimli değişken bildirimi Değişken bildiriminde hiçbir erişim belirtkesi konulmazsa, hiçbir erişim belirtkesi konulmazsa, metotlarda olduğu gibi, doğal (default) belirke geçerlidir. Doğal erişim nitelemli öğelere sınıftan, altsınıflardan ve aynı paket içindeki diğer sınıflardan erişebilir. Örnek f l o a t kesir ; Paket bildirimi Paketler yalnızca doğal erişime sahiptir, başka erişim belirtkesi almazlar. Paket içindeki her sınıf pakette olan her değişken ve metoda erişebilir. Ama başka paketlerdeki sınıflar erişemez. Örnek package paket_adı { Paket gövdesi Aşağıdaki program, sınıfın doğal erişim nitelemli öğesine altsınıftan erişilebildiğini gösteriyor. Program public c l a s s DDemo { String text = "Java i y i bir d i l d i r. " ; // doğal erişim b e l i r t k e s i 4

5 1.1. Erişim Belirtkeleri 5 public String gettext () { return text ; 7 public s t a t i c void main( String [ ] args ) { altddemo altdd = new altddemo () ; // e r i ş i l e b i l i r 12 System. out. println (" public anlık değişken : " + altdd. text ) ; System. out. println (" public metot : " + altdd. gettext () ) ; 17 c l a s s altddemo extends DDemo { public String altgettext () { // e r i ş i l e b i l i r return text ; 22 / public anlık değişken : Java i y i bir d i l d i r. 3 public metot : Java i y i bir d i l d i r. / public public damgası bir değişkeni, bir metodu ya da bir sınıfı niteleyebilir. Nitelediği öğeler herhese açık olur. Başka pakette olsa bile, program içindeki, her kod onlara erişebilir. public nitelemli bir sınıfın değişkenlerine ve metotlarına kendi altsınıfları ve dışarıdaki başka sınıflar kısıtsız erişebilir. public nitelemli değişkenler ve metotlar için de kısıtsız erişim vardır. Uygulama programlarında main() metodunun public nitelemli olmasının nedeni budur. Örnek public sınıf bildirimi 5

6 6 1. java nitelemleri 1 public c l a s s class_demo {... public değişken bildirimi public long r ; public metot bildirimi Program public double toplam ( i n t m, double d){ return m + d ; 2 public c l a s s PublicDemo { public String text = "Cumhuriyet Bayramı" ; public String gettext () { return text ; 7 public s t a t i c void main( String [ ] args ) { PublicDemo pd = new PublicDemo () ; System. out. println (" public anlık değişken : " + pd. text ) ; 12 System. out. println (" public metot : " + pd. gettext () ) ; 1 / public anlık değişken : Cumhuriyet Bayramı public metot : Cumhuriyet Bayramı / protected Bir sınıf içindeki değişkenlere ve metotlara altsınıfların erişebilmesini, ama paket içindeki ya da program içindeki başka kodların erişmesini engellemek isteyebiliriz. Bunun için sözkonusu öğeyi, protected 6

7 1.1. Erişim Belirtkeleri 7 belirtkesi ile nitelemek yetecektir. Bu demektir ki, altsınıf, üstsınıfın protected nitelemli öğelerine sanki public öğelermiş gibi erişir. Görüldüğü gibi, protected belirtkesi, doğal belirtke ile private belirtkesinin işlevleri arasında bir işleve sahiptir. Altsınıflara erişme yetkisi verdiği için, kalıtım (inheritance) olgusunda önemli rol oynar. Örnek protected sınıf bildirimi] 1 protected c l a s s class_adı { Class gövdesi protected değişken bildirimi protected long r ; protected metot bildirimi protected double toplam ( i n t m, double d){ return m + d ; Program 1.1.3, bir sınıfın protected nitelemli değişkenine alt sınıftan erişilebildiğini gösteriyor. Program public c l a s s ProtectedDemo { protected String str = " İstanbul büyük bir kenttir. " ; public String metinyaz () { return str ; 7 public s t a t i c void main( String [ ] args ) { altprotecteddemo belirtke = new altprotecteddemo () ; // hatasız ç a l ı ş ı r 7

8 8 1. java nitelemleri 12 System. out. println (" public anlık değişken : " + belirtke. str ) ; System. out. println (" public metot : " + belirtke. metinyaz () ) ; 17 c l a s s altprotecteddemo extends ProtectedDemo { public String altmetinyaz () { // hatasız ç a l ı ş ı r return str ; 22 / public anlık değişken : İstanbul büyük bir kenttir. 3 public metot : İstanbul büyük bir kenttir. / private Bazı değişken, metot ya da sınıflara başka sınıftaki kodların erişmesini engellemek isteyebiliriz. Bunun için private nitelemesini kullanırız. private erişim belirtkesi, public belirtkesinin karşıtı gibidir. private nitelemli öğelere yalnız aynı sınıftaki kodlar erişebilir, başka sınıftaki kodlar erişemez. Kendi altsınıfları bile erişemez. Bir altsınıf, atasının public ve doğal nitelemli öğelerine erişebilir, ama private nitelemli öğelerine erişemez. Onlara erişebilmesi için, super class interface fonksiyonu kullanılır. Örnek private sınıf bildirimi 1 p r i v a t e c l a s s class_adı { Class gövdesi private değişken bildirimi 8

9 1.1. Erişim Belirtkeleri 9 p r i v a t e long r ; private metot bildirimi p r i v a t e double toplam ( i n t m, double d){ return m + d ; Program public c l a s s PrivateDemo { p r i v a t e String str = "Ankara başkenttir. " ; public String metinyaz () { return str ; 7 public s t a t i c void main( String [ ] args ) { altprivatedemo belirtke = new altprivatedemo () ; // private değişkene erişemez 12 System. out. println (" public anlık değişken : " + belirtke. str ) ; System. out. println (" public metot : " + belirtke. metinyaz () ) ; 17 c l a s s altprivatedemo extends PrivateDemo { public String altmetinyaz () { // private değişkene erişemez return str ; 22 Derleyici şu hata iletisini atar: / The f i e l d PrivateDemo. str i s not v i s i b l e 3 / 9

10 10 1. java nitelemleri Alıştırmalar Aşağıdaki örnek public ve static erişim belirtkelerinin kullanılışını gösteriyor. Program import java. u t i l. Scanner ; import java. lang. Math ; public c l a s s Demo { 7 public s t a t i c double Kuvvet () { Scanner s = new Scanner ( System. in ) ; System. out. println ("Taban sayıyı g i r i n i z : ") ; double a = s. nextdouble () ; System. out. println ("Sayının üssü g i r i n i z : ") ; 12 double b = s. nextdouble () ; double t = Math.pow(a, b) ; return ( t ) ; 17 public s t a t i c void main( String [ ] args ) { // Demo mat = new Demo() ; System. out. println (Kuvvet () ) ; / Sayıyı g i r i n i z : 25,0 4 Sayının üssünü g i r i n i z : 2, / Program doğal, public ve private nitelemli öğelere sınıf içinden erişilebildiğini gösteriyor. Program

11 1.1. Erişim Belirtkeleri 11 c l a s s Test { i n t a ; // default erişim 3 public i n t b ; // public erişim p r i v a t e i n t c ; // private erişim // c ye erişen metot void setc ( i n t i ) { // c ye değer atar 8 c = i ; i n t getc () { // c nin değeri return c ; 13 public s t a t i c void main( String [ ] args ) { Test t = new Test () ; t. setc (25) ; 18 t. a = t. getc () / 5; t. b = 2 t. a ; System. out. println ( t. a) ; System. out. println ( t. b) ; System. out. println ( t. c ) ; 23 1 / / Program 1.1.7, doğal ve public öğelere paket içinden erişilebildiğini; ama private nitelemli öğeye sınıf dışından erişilemediğini gösteriyor. Program c l a s s Sayılar { i n t a ; // default erişim public i n t b ; // public erişim p r i v a t e i n t c ; // private erişim 11

12 12 1. java nitelemleri // c ye erişen metot void setc ( i n t i ) { // c ye değer atar c = i ; i n t getc () { // c nin değeri return c ; public c l a s s Test { public s t a t i c void main( String [ ] args ) { Sayılar t = new Sayılar () ; t. setc (25) ; 20 t. a = t. getc () / 5; t. b = 2 t. a ; System. out. println ( t. a) ; System. out. println ( t. b) ; System. out. println ( t. c ) ; // 25 Program derlenemez. Derleyici şu hata iletisini atar: / The f i e l d Sayılar. c i s not v i s i b l e / Program de, doğal ve public öğelere paket içinden erişilebildiğini; ama private nitelemli öğeye sınıf dışından erişilemediğini görmüştük. Program 1.1.8, private öğeye erişmek için, sınıfa ait bir metodu kullanıyor. Program c l a s s Sayılar { 2 i n t a ; // default erişim public i n t b ; // public erişim p r i v a t e i n t c ; // private erişim // c ye erişen metot void setc ( i n t i ) { // c ye değer atar 7 c = i ; 12

13 1.2. Öteki Belirtkeler i n t getc () { // c nin değeri return c ; public c l a s s Test { public s t a t i c void main( String [ ] args ) { Sayılar s = new Sayılar () ; 17 // a i l e b ye direkt e r i ş i l e b i l i r s. a = 10; s. b = 20; // s. c = 100; // Hata! 22 // c ye erişmek i ç i n s ı n ı f ı n metodu kullanılmalı s. setc (100) ; // g e ç e r l i System. out. println ("a, b, and c : " + s. a + " " + s. b + " " + s. getc () ) ; 27 Program de 21.satır şu hata iletisini atar: / 2 The f i e l d Sayılar. c i s not v i s i b l e / Bu hatayı ayıklamak için, 21.satırı kapatıp 23.satırı yazalım. Programın derlendiğini ve koştuğunu görebiliriz. 1.2 Öteki Belirtkeler Bu belirtkeler, öğeye erişimi kısıtlama amacı gütmeyen, ama başka işlevleri olan nitelemlerdir. Şimdilik, programlarımızda sıkça kullandığımız belirtkeleri listelemekle yetineceğiz. static Bir sınıfta değişken ve metotları niteler. Nitelediği öğe, nesne yaratılmaya gerek olmaksızın kullanılabilir. Örneğin, static nitelemli bir değişkenin ana bellekte bir tek adresi, dolayısıyla bir 13

14 14 1. java nitelemleri tek değeri vardır. Yaratılan bütün nesneler bu ortak değeri kullanır. final Değişken, metot ve sınıfları sabitler. final nitelemli öğeler program boyunca değiştirilemezler. abstract Soyut metot ve sınıfların bildirimi için kullanılır. synchronized Thread leri nitelemek için kullanılır. volitile Thread leri nitelemek için kullanılır. Bu belirtkelerin kullanılışlarını hemen her örnekte göreceğiz. O nedenle, kısa açıklamalar yapmak yeterli olacaktır. Erişim kısıtı koymayan belirtkelerinden anlık, static, final ve abstract nitelemeleriyle çok sık karşılarız anlık Bir sınıfta bildirimi yapılan ve static olmayan (non-static, instantiate) değişken (veri alanı) ya da metot, anlık değişken ya da anlık metot olur. Anlık değişken ve anlık metotlar ancak sınıfa ait bir nesne yaratılarak, o nesne içinde kullanılabilirler. Bir sınıfa ait anlık değişken tanımlandığında, o sınıfa ait her bir nesne içinde söz konusu değişkenin bir kopyası oluşur. Dolayısıyla, farklı nesnelerde o değişkene farklı değerler atanabilir. Aynı anda, o değişkenin yaratılan nesne sayısı kadar farklı değeri olabilir. Benzer olarak, bir sınıf içinde tanımlanan anlık metodun bir kopyası her nesne içinde oluşur. Metotlar override edilebildiğinden, bir metoda farklı nesnelerde aynı ya da farklı işler yaptırılabilir. static Bazı durumlarda değişkenlerin ya da metotların, onların sınıfına ait olarak yaratılacak nesnelerden bağımsız ve biricik olmalarını, farklı 14

15 1.2. Öteki Belirtkeler 15 nesnelerde farklı işlevlere sahip kopyalarının yaratılmamasını isteriz. Bunun için static belirtkesini kullanırız. static nitemli her değişkene ana bellekte ancak bir tane yer ayrılır; her nesne için ayrı yer ayrılmaz. Dolayısıyla, o değişkeni kullanacak her deyim, ona ayrılan tek adrese ulaşır. Böylece, o sınıfa ait bir çok nesne yaratılsa bile, static değişkenin ortak değerini kullanırlar. Tabii, program koşarken static değişkenin değeri değişebilir. Ama, değişene dek, bütün nesneler aynı değeri kullanmak durumundadır. Değeri değişse bile, o andan sonra gene bütün nesneler onun yeni değerini kullanır. Benzer olarak, static belirtkesi ile nitelenen metoda ana bellekte ancak bir tane yer ayrılır; her nesne için ayrı yer ayrılmaz. Altsınıflarda, aynı adlı başka metot tanımlanamaz. Overload veya overridden edilemez. Örneğin, main() metodu böyledir. Eğer birden çok main() metodu tanımlanırsa, sistem hangisini (önce) çağıracağını bilemez. static nitelemi metotlara ve değişkenlere verilebilir; sınıflara verilemez. static nitelemli metot ancak static nitelemli verilere (değişken, sabit) erişebilir. static nitelemli metot, ancak static nitelemli metotları çağırabilir. static nitelemli öğeler this ve super anahtar sözcüklerini kullanamazlar. Örnek Program s t a t i c i n t m= 5; 2 s t a t i c double b ; s t a t i c void renksec ( Color color ) {... 15

16 16 1. java nitelemleri Alıştırmalar Program deki StaticDemo sınıfına ait a,b değişkenleri ile veri- Yaz() ve main() metotları static nitelemlidirler. StaticDemo sınıfına ait bir nesne yaratılmaksızın, main() metodu static veriyaz() metodunu çağırıyor. O da static a,b değişkenlerine erişiyor ve değerlerini yazıyor. b değişkenine değer atanmadığı için, öndeğerinin 0.0 olduğunu anımsayınız. Program c l a s s StaticDemo { s t a t i c i n t a = 18; 4 s t a t i c double b ; s t a t i c void veriyaz ( i n t x) { System. out. println ("x = " + x) ; System. out. println ("a = " + a) ; 9 System. out. println ("b = " + b) ; public s t a t i c void main( String args [ ] ) { veriyaz (73) ; 14 / x = 73 a = 18 b = / Program de Veriler sınıfındaki a, b değişkenleri ile sayı- Yaz() metodu static nitelemlidir. StaticDemo sınıfındaki static main() metodu Veriler sınıfındaki static sayıyaz() metodunu çağırıyor. Çağrılan metot static a, b değişkenlerine erişip, onların değerlerini yazıyor. Program

17 1.2. Öteki Belirtkeler 17 c l a s s Veriler { s t a t i c i n t a = 87; 5 s t a t i c f l o a t b = 35.8 f ; 10 s t a t i c void sayı sayıyaz () { System. out. printf ("a = %d %nb = %f %n ", a, b) ; c l a s s StaticDemo { public s t a t i c void main( String args [ ] ) { Veriler. yaz () ; 15 / a = 87 b = 35, / Uyarı de Veriler sınıfını public yapmayı deneyiniz. Derleyici şu hata iletisi atacaktır: 1 c l a s s Veriler i s public, should be declared in a f i l e named Veriler. java Bunun nedeni, programın adının main() metodunu içeren sınıfın adıyla aynı olmasıdır; yani StaticDemo.java. Dolayısıyla, public nitelemi yalnızca StaticDemo sınıfına verilebilir. Şimdi Program de bazı değişiklikler yapalım. Veriler sınıfındaki sayıyaz() metodunun static nitelemini kaldıralım ve public yapalım. StaticDemo sınıfındaki static main() metodu Veriler sınıfındaki public sayıyaz() metodunu çağıramayacaktır. Program c l a s s Veriler { 17

18 18 1. java nitelemleri 4 s t a t i c i n t a = 87; s t a t i c f l o a t b = 35.8 f ; s t a t i c void sayı sayıyaz () { System. out. printf ("a = %d %nb = %f %n ", a, b) ; 9 c l a s s StaticDemo { public s t a t i c void main( String args [ ] ) { 14 Veriler. sayıyaz () ; Bu programı derlemek istediğimizde, derleyici şu hata iletisini atacaktır: non s t a t i c method sayıyaz () cannot be referenced from a s t a t i c context Bunun nedeni, static metotların ancak statik öğelere erişebilir olmasıdır. static main() metodu anlık sayıyaz() metodunu çağıramaz. Bu hatayı ayıklamak (debug) için, şu iki yöntemden birisini uygulayabiliriz. sayıyaz() metodunu tekrar static yapabiliriz, ki bu önceki programda yapıldı. Veriler sınıfına ait bir nesne yaratabilir, ve o nesne içinden sayıyaz() metodunu çağırabiliriz. İkinci yöntemi deneyelim. Veriler sınıfının veri adlı bir nesnesini yaratalım. veri adlı referans (pointer) yardımıyla, 16.satırdaki veri. sayıyaz () ; deyimi sayıyaz() metodunu çağırabilir. Bu metot, veri nesnesi içinden static a, b değişkenlerine erişebilir ve değerlerini yazar. Çünkü, static öğelere sınıf adı referans verilerek doğrudan erişilebildiği gibi, nesne içinden de öğe adlarıyla erişilebilir. 18

19 1.2. Öteki Belirtkeler 19 Program c l a s s Veriler { s t a t i c i n t a = 87; 4 s t a t i c f l o a t b = 35.8 f ; 9 public void sayıyaz () { System. out. printf ("a = %d %nb = %f %n ", a, b) ; public c l a s s StaticDemo { public s t a t i c void main( String args [ ] ) { 14 Veriler veri = new Veriler () ; veri. sayıyaz () ; \begin{ l s t l i s t i n g 19 / a = 87 b = 35, / final Bu belirtke nitelediği öğenin sabit kılındığını ve değiştirilemeyeceğini belirtir. Eğer final belirtkesi sınıf (class) öğeleri için kullanılırsa, o sınıfın altsınıfları yaratılamaz. Metoda uygulanan final belirtkesi o metodun baskılanamayacağını (overridden) söyler. Değişkene uygulandığında ise, o değişkeni bir sabit (constant) yapar. final nitelemli değişkenleri büyük harflerle yazmak Java nın bir geleneğidir. Böylece, kaynak programa bakan kişi, onun bir sabit olduğunu anlar. final değişken bildirimi: f i n a l i n t ILK_DEGER = 1; 3 f i n a l f l o a t KATSAYI = 9. 8 ; 19

20 20 1. java nitelemleri 2 final metot bildirimi: c l a s s DeneSin { // bu değişkenin değeri değişemez f i n a l i n t sayac = 21; // bu metot override edilemez 7 f i n a l i n t denemetot ( i n t a, i n t b) { abstract absract belirtkesi soyut sınıf ve soyut metot yaratır. Soyut metotların adı, değişkenleri ve değer-tipi (return type) belirtilir, ama metot gövdesi yazılamaz. Abstract class en az bir tane abstract metoda sahip olmalıdır. Abstract class tan nesne yaratılamaz (instantiate); çünkü içerdiği abstract metod çalıştırılamaz. Bir abstract class ta bir metot varsa, o metot otomatik olarak abstract sayılır. Ama birden çok metot içerdiğinde, bazıları abstract olmayabilir. 1 abstract void renk ( Color color ) ; 20

21 Kaynakça 21

22 Dizin öteki belirtkeler, 13 abstract, 20 access modifiers, 2 anlık, 14 belirtkeler, 13 default access, 3 doğal, 4 doğal erişim, 3 doğal erişim belirtkesi, 3, 4 erişebilme, 2 erişim belirtkesi, 2 final, 19 instantiate, 14 modifier, 1 niteleme, 1 package, 4 paket, 4 private, 8 protected, 6 public, 5 22

Bölüm 10 Statik ve Anlık Öğeler

Bölüm 10 Statik ve Anlık Öğeler Bölüm 10 Statik ve Anlık Öğeler Statik ve Anlık Öğeler Statik öğeler, bir sınıfta static sıfatıyla nitelendirilen değişkenler ve metotlardır. Bunlara sınıf değişkenleri de denilir. static nitelemesi almayan

Detaylı

BMM3101 PROGRAMLAMA DİLLERİ

BMM3101 PROGRAMLAMA DİLLERİ 2017-2018 Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü BMM3101 PROGRAMLAMA DİLLERİ Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2. İçerik Geçen ders: Kalıtım ( inheritance ) Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Ders #5 (18 Kasım 2009) Bu ders: Kalıtım ( inheritance ) tekrar ziyaret Java da super kullanımı

Detaylı

Java Programlamada Paket Yapısı Ve Import

Java Programlamada Paket Yapısı Ve Import Java programlamada paket yapısı ve import Java Programlamada Paket yapısı ve Java programları paketlerden oluşmaktadır. Paketlerin içinde sınıflar ve arayüzler bulunur. İstenirse var olan paketlerden başka

Detaylı

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Ders #5 (18 Kasım 2009) İçerik Geçen ders: Kalıtım ( inheritance ) Bu ders: Kalıtım ( inheritance ) tekrar ziyaret Java da super kullanımı

Detaylı

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void

Detaylı

7. HAFTA. Erişim Belirleyiciler

7. HAFTA. Erişim Belirleyiciler 7. HAFTA Erişim Belirleyiciler Java dilinde 4 tür erişim belirleyicisi vardır; bunlar friendly, public, protected ve private dir. Bu erişim belirleyiciler global alanlar (statik veya değil) ve yordamlar

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir; abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance

Detaylı

public static int Toplam int x, int y

public static int Toplam int x, int y static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

Erişim konusunda iki taraf vardır:

Erişim konusunda iki taraf vardır: Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Paket (package) Paketler kütüphaneyi oluşturan elemanlardır. PaketKullanim.java Varsayılan Paket

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir:

Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir: BÖLÜM 4 Değişken Tipleri Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir: type identifier [ = value][, identifier [=

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.

Detaylı

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58; BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt

Detaylı

Ders 8: Metotlar. barisgokce.com

Ders 8: Metotlar. barisgokce.com Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı

Detaylı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

Detaylı

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ Amaçlar: 1- Arayüzler (Interfaces) 2- Soyut Sınıflar ve Metotlar(Abstract classes and methods) Uygulama-1: interface:cihaz ac() kapat() goster(string) class: TV class: LCD class: Projector... Cihaz adındaki

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

Arayüz (Interface) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 7 1

Arayüz (Interface) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 7 1 Arayüz (Interface) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 7 1 Arayüz (Interface) Arayüzler, soyut sınıfların bir üst modeli gibi düşünülebilir. Arayüzler tamamen birleştirici bir rol oynamaları

Detaylı

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Paket Erişimleri Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Altuğ B. Altıntaş

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

MOBIL UYGULAMA GELIŞTIRME

MOBIL UYGULAMA GELIŞTIRME MOBIL UYGULAMA GELIŞTIRME PELIN YILDIRIM FATMA BOZYIĞIT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Java Programlama (Crash Course) Class, Nesne, Metodlar, Overloading,

Detaylı

Mantıksal İşlemler. 7.1 true, false, nil

Mantıksal İşlemler. 7.1 true, false, nil 7 Mantıksal İşlemler 7.1 true, false, nil Doğru ya da Yanlış değer alan önermelere (ifadelere) mantıksal (logic) deyimler ya da boolean deyimler denilir ([5]). Bir çok dilde mantıksal işlemler true ve

Detaylı

BTEP243 Ders 3. class Yazım Kuralı:

BTEP243 Ders 3. class Yazım Kuralı: BTEP243 Ders 3 Sınıflar ve Nesneler Nesne tabanlı programlamada, programlamanın temeli sınıflardır (class). Nesnelerin yaratılmasında taslak (blueprint) görevi görür. Sınıflar; o Nesnelerin özelliklerinin

Detaylı

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar Nesneler ve Türler Sınıflar ve Yapılar Arasındaki Farklılıklar Sınıf Üyeleri Değer ve Referans Türde Olan Aktarımlar Yapıcılar ve Statik Yapıcılar Read-Only Statik Sınıflar Object Sınıfı Sınıflar Sınıflar

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN PAKET (PACKAGE) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.bufferedreader;

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu BBS515 Nesneye Yönelik Programlama Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bu derste neler öğreneceğiz? IntelliJ ile proje oluşturma Yorum satırları Sınıf deklarasyonu İsimlendirme kuralları

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.

Detaylı

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir: Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler

Detaylı

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır. Bölüm 20 20 Arayüzler Arayüz bir sınıf değildir. Arayüz yazmak sınf yazmaya çok benzer ancak ikisi birbirinden farklı konseptlerdir. Sınıf bir nesnenin özelliklerini ve davranışlarını belirtirken; bir

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

BMH-303 Nesneye Yönelik Programlama

BMH-303 Nesneye Yönelik Programlama BMH-303 Nesneye Yönelik Programlama Kurucu metotlar (constructors) ve statik deyimi Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği Kurucu Metotlar (Constructors) Kurucu metot çeşitleri Varsayılan

Detaylı

3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu Java ile Nesne Merkezli ve Fonksiyonel Programlama 3. Bölüm Soyut Sınıflar (Abstract Classes) Akın Kaldıroğlu Kasım 2015 Küçük Ama Önemli Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eğitim

Detaylı

İsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1

İsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1 İsimler ve Kapsam Tanım: Bir değişkenin kapsamı (scope) değişkenin görülebilir olduğu komutların alanıdır. Görülebilir olduğu alan, bir komut içinde belirlenen değerle kullanılabildiği alandır. Tanım:

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end

Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end 4 Metotlar Hemen her programlama dilinde var olan metot kavramı Ruby için de aynıdır. Bazı kaynaklarda metot terimi yerine fonksiyon terimi kullanılır. Bu kitapta iki terimi eşanlamlı kullanacağız. Ruby

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

Java Programlamada Paket Yapısı Ve Import

Java Programlamada Paket Yapısı Ve Import Java programlamada paket yapısı ve ımport Java Paketleri Java Kaynak Programları Java programları paketlerden (packages) oluşur. Paketlerin içinde sınıflar ve arayüzler (classes and interfaces) bulunur.

Detaylı

Ders 8 Konu Özeti ve Problemler

Ders 8 Konu Özeti ve Problemler Ders 8 Konu Özeti ve Problemler C# ve Nesne Yönelimli Programlamanın 3 Prensibi Kapsülleme (Encapsulation) Nesne yönelimli programlamanın ilk prensibi kapsülleme (encapsulation) olarak adlandırılır. Bu

Detaylı

5. Bölüm Alt Sınıflar (Nested Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

5. Bölüm Alt Sınıflar (Nested Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu Java ile Nesne Merkezli ve Fonksiyonel Programlama 5. Bölüm Alt Sınıflar (Nested Classes) Akın Kaldıroğlu Ocak 2017 Küçük Ama Önemli Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eğitim malzemelerinin

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 9

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 9 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 9 ARAYÜZLER VE DAHILI SINIFLAR Diğer programlama dillerinde olan çoklu kalıtım (multiple inheritance) özelliği Java programlama dilinde yoktur. Java programlama dilinde

Detaylı

Karşılaştırma İşlemleri ve Koşullu İfadeler

Karşılaştırma İşlemleri ve Koşullu İfadeler Karşılaştırma İşlemleri ve Koşullu İfadeler BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Karşılaştırma İşlemleri Java'da sayısal veri tiplerinin karşılaştırılması için aşağıdaki karşılaştırma

Detaylı

Kalıtım (Inheritance)

Kalıtım (Inheritance) Kalıtım (Inheritance) Kocaeli Üniversitesi Kalıtım (Inheritance) Kodların çok kez kullanımı (Software reusability) Mevcut Sınıflardan Yeni Sınıflar Oluşturma Mevcut sınıfın değişken ve fonksiyonları kullanılabilir.

Detaylı

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1 Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden

Detaylı

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi Görsel Programlama Kalıtım, Temel/Alt Sınıf, Temel/Alt Sınıf Tip Dönüşümleri, Temel Sınıf Yapıcıları, super Anahtar Kelimesi, Sınıf Üyesi Görünürlüğü, Statik Üyeler ve Final Üyeler Sınıflar Programcı tarafından

Detaylı

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama Bölüm 39 Binary Search (Yarılama) 39.1 Dizide Bir Öğe Arama İkil aramayı (yarılama yöntemi) sıralı veri kümelerinde sık sık kullanırız. Örneğin, sözlükte bir sözcüğü ararken, sözlüğün bütün sayfalarını

Detaylı

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler Programlama Dilleri 1 Ders 12: Belirleyiciler ve Niteleyiciler Genel Bakış Giriş Yer Belirleyicilerle Bildirim İşlemi auto Belirleyicisi register Belirleyicisi static Belirleyicisi Statik ve Global Değişkenlerin

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 4 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

Bire-bir Sahiplik İlişkisi ile İlgili Sorular: Bire-bir Sahiplik İlişkisi ile İlgili Sorular: Soru 1: Bir füzenin kilometre cinsinden menzili ve kilogram cinsinden ağırlığı mevcuttur. Bir füze ya kara hedefleri ya da hava hedefler için tasarlanır.

Detaylı

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Giriş Yrd. Doç. Dr. Aybars UĞUR Örnek 1 Bir Yolcu sınıfı, yolcu1 nesnesi oluşturulması ve kullanılması class Yolcu String ad; String soyad;

Detaylı

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama Nesne Yönelimli Programlama Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu, M. Özbayoğlu, M. Erten, O. Ergin kitabı kullanılarak hazırlanmıştır. Konular Giriş Alt Sınıflar

Detaylı

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama SAKARYA ÜNİVERSİTESİ Nesneye Dayalı Programlama Hafta 5 Prof. Dr. Ümit KOCABIÇAK Öğr. Gör. Özgür ÇİFTÇİ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim"

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. PART 5 5. Denetleyici Türleri Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. Java Erişim Kontrol Denetleyicileri (Access Control Modifiers) Erişim Harici Denetleyiciler

Detaylı

Bu parçalar arasındaki ilişkiyi kullanıp büyük çaplı programlar geliştirme tekniğine de nesne yönelimli programlama denir.

Bu parçalar arasındaki ilişkiyi kullanıp büyük çaplı programlar geliştirme tekniğine de nesne yönelimli programlama denir. Sınıflar (Classes) Çözülmesi istenene problemi çeşitli parçalara ayırıp her bir parça arasındaki ilişkiyi gerçeğine uygun bir şekilde belirleme tekniğine nesne yönelimi denir. Bu parçalar arasındaki ilişkiyi

Detaylı

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir.

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir. BÖLÜM 1 Java Programlamaya Giriş Java programlama dili ilk olarak başında James Gosling`n bulundugu Sun Microsystems tarafından 1995 yılında, Sun Java Platformunun ana unsuru olarak geliştirilmeye başlandı.

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 4 Ders 2 Yrd. Doç. Dr. Melike Şah Direkoğlu Alındığı kaynak: Addison-Wesley s Programming Language Concepts slaytları ve Prof. Dr. Tuğrul Yılmaz ın ders notlarından

Detaylı

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi İÇİNDEKİLER Değişken Nedir? Değişken kullanımı faydaları. Değişken türleri Değişken görünürlüğü (scope) Değişken türleri arası dönüşümler Örnek

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 6 Kalıtım (Inheritance) - I Bu bölümde;

Detaylı

Java Dersi. Altuğ Bilgin Altıntaş

Java Dersi. Altuğ Bilgin Altıntaş Java Dersi Altuğ Bilgin Altıntaş Bu Dönem Hakkında Corba Servlet RMI Temel Kısım EJB JSP XML 2 JDBC JNI Çalışma Evreleri 6 Çalışma Evreleri 7 Java dosyasının hali 7 İlk Java uygulaması 7 Ciddi bir uygulama

Detaylı

Bölüm 12. Nesne yönelimli programlama desteği

Bölüm 12. Nesne yönelimli programlama desteği Bölüm 12 Nesne yönelimli programlama desteği 12. Bölüm konuları Giriş Nesne yönelimli programlama Nesne yönelimli diller için tasarım konuları C++ dilinde nesne yönelimli programlama desteği Nesne yönelimli

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

Operator Aşırı Yükleme (Operator OverLoading)

Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 11: Bileşim, Arkadaş ve Diğer Araçlar İçerik Bileşim Arkadaş Fonksiyonlar ve Sınıflar Arkadaş Fonksiyonlar Arkadaş Sınıflar Sabit Nesneler Sabit Üye Fonksiyonlar

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA SANAL FONKSİYONLAR VE ÇOK BİÇİMLİLİK Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü GİRİŞ C++, hem derleyici-zamanlı hem de çalışmazamanlı çok biçimliliği destekler.

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 14: Çoklu İşlev İçerik Çoklu İşlevin Gerçekleştirilmesi Saf Sanal Fonksiyonlar ve Soyut Sınıflar Sanal Yıkıcı Fonksiyonlar Statik ve Dinamik Bağlama 2 Çoklu İşlev

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 3 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Sınıflar ve Fonksiyonlar Tekrar kullanılabilir kodlar 1 Nesne Tabanlı Tasarım

Detaylı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

Facade (Cephe) Tasarım Şablonu KurumsalJava.com Facade (Cephe) Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Profesyonel yazılım sistemleri birçok komponentin birleşiminden oluşur. Yazılım esnasında bir çok

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 11: Metot Kavramı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 11: Metot Kavramı MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 11: Metot Kavramı Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO while(), do-while(), for() Döngü (loop) : Bir koşul sağlandığı (true olduğu) sürece bir veya birden çok komutun tekrarlanması işlemidir. Java Döngüler (loops) While() do-while() for ( ) while ( koşul )

Detaylı

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)

Detaylı

Klavyeden Basit Giriş/Çıkış İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada

Detaylı

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Doç. Dr. Aybars UĞUR

DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Doç. Dr. Aybars UĞUR DATA STRUCTURES Lab II Metotlar, Diziler ve Hata Ayıklama Doç. Dr. Aybars UĞUR İçerik Debugging konusunun kısaca anlatımı. (10 dk.) F11, F10 ve Durma Noktası denemeleri yapılması ve gözlemlerin not edilmesi.

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 7 Abstract (Soyut Sınıflar) Bu bölümde;

Detaylı

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma C de Detaylı Üs Alma Programı Bu uygulama yazısında C de pow() fonksiyonunu kullanmadan üs hesabı yapan programı yazmaya çalıştım. Başta tanımladığım float tipinde 2 fonksiyon sayesinde + lı ve li üs değerleriyle

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı