Stblack Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 Simdi 2 class yaptıgımı dusunelim biri Inh1 digeri Inh2 olsun ve Inh2 Inh1'den inherit etsin.Inh1'de set ettigim bir data memberı Inh2de gorebiliyo olmam lazım ama nasıl olacagını bulamadım.Constructor yoluyla gecirecem galiba ama iste yapamadım bir turlu yardım lutfen:) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Laorx Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 class Inh2 extends Inh1{ //devam et Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Stblack Mesaj tarihi: Temmuz 17, 2009 Konuyu açan Paylaş Mesaj tarihi: Temmuz 17, 2009 ya yok anlatamadım galiba.O kadarını biliom o kadar noob deilim:) Soylemek istedigime gelince,.. Inh1'de atıyorum x degiskenim olsun.ben bunu Inh1'de setX(5) seklinde set edip, degerini 5 'e esitliyorum.Sonra Inh2'de getX() ile bu degeri almak istiyorum. Su anki denemelerimde Inh2'de getX() yapınca null dönüyor yani, x'i Inh2'de almaya calısırken degeri kayboluyor ve ben bunun kaybolmamasını istiyorum. Bu arada bilmiyorum birsey degistirir mi ama Inh1,Inh1.java adlı dosyada, Inh2,Inh2.java adlı dosyada. Ozel bir cagırma sekli olmalı diye dusunuyorum super()le falan ama iste bulamadım bir turlu. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Penthesilea Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 Oyle birsey mumkun degil. Inheritance denilen sey, bir class'in, baska bir class'i extend etmesi mantigina dayali. Orneginde, Inh1 inh1 = new Inh1(); ile bir Inh1 objesi yaratiyorsun. inh1.setX(5); dediginde bu objenin x fieldini 5 e esitliyorsun. Inh2 inh2 = new Inh2(); yaptiginda, bir Inh2 objesi yaratiyorsun. inh1 ve inh2 farkli instancelar, birbirinden bagimsizlar. Object a =new Object(); a.setValue(X); Object b = new Object(); b.getValue(); yapip X i almayi bekliyorsun yani sen bir nevi, anlatabildim mi? b Inheritance suna yarar, bir class istiyorsun, bu class baska bir class'in tum ozelliklerini tasiyacak + bazi yeni ozellikler getirecek (veya bazi ozelliklerini degistirecek override edip) Anlatabildim mi bilmiyorum, ama eger anladiysan,sorunu biraz degistirince soyle bir cevap verilebilir onu da vereyim diyelim public class Inh2 extends Inh1 bir method var, Inh1'in yaptigi seyleri aynen yapmak istiyorsun bu method'da bir de ufak bi detay eklemek istiyorsun, yapman gereken su: public void method() { super.method(); sonra buraya yapacagin eklentiler } nasil this objenin kendisine pointersa, super da inherit edildigi class'a pointer. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Laorx Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 annadım, super şöyle bişe said: public class Inh2 { protected double x, y; public Inh2 (double a, double b) { Inh2_hede(a,b); } public void Inh2_Set(double a, double b) { x=a; y=b; } public double Read_X () { return x; } } said: import Inh2; public class Inh1 extends Inh2 { protected double p; public Inh1() { //Inh1 kalitim yaptigi Inh2 sinifinin kurucu metodunu // super ile çağır super(0,0); Inh1_blabla(0); } public Inh1(double r, double a, double b) { super(a,b); Inh1_blabla(r); } public double Inh1_Set() { return y; } } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Laorx Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 napmışın ben:), çok fazla değişken var ortada ama super'ı nası çağırıcağın fln anlamışındır herhalde ehehe, 2 sene önceki stajımdan beri javaya dokunmadım bukadar kalmış akılda. C# ftw! Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Stblack Mesaj tarihi: Temmuz 17, 2009 Konuyu açan Paylaş Mesaj tarihi: Temmuz 17, 2009 hmm tamam anladım sanırım, o zmn bir classtan aldıgın degerleri digerine gecirme gibi bir sansın yok mu? Bende stajdayım su an,yeni yeni ogreniyorum:) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Laorx Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 yok euhue Mega Ultra Super bi inheritor lazım, db kurup ordan alsan fln belki. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Stblack Mesaj tarihi: Temmuz 17, 2009 Konuyu açan Paylaş Mesaj tarihi: Temmuz 17, 2009 Sanırım tek cozum file'a yazdırıp filedan almak oluyor bu durumda:) Neyse sagolun sorularım devam edecek:)unutturmucam kendimi eheheh Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Laorx Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 evt oyle olur. hatta xml biliyosan bitane oluştur düzgün tutarsın bilgilerini. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Penthesilea Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 Yani, dolayli yoldan var, kulagini kolunu diger taraftan dolandirip tutmak istiyorsan falan :) birinci secenek, SetX i overload edersin bi de iki parameter alan bi SetX yazarsin, birincisi deger, ikincisi Inh2 objesi olur, onu da set eder degere :) public void setX (int value, Inh2 inh2) { this.x = value; inh2.setX(value); } Ikinci yontem, inh1'in x i set edip, yeni bi inh2 yaratip onun da degerini set edip o objeyi dondurur public Inh2 setX (int value) { this.x = value; Inh2 inh2 = new Inh2(); inh2.setX(value); return inh2; } Sonra iste Inh2 inh2 = inh1.setX(5); yaparsin. Ha tabi bu yontemler cok lamerce, illa boyle bisey istiyorsun diye ornek verdim, ve inheritance ile yakindan uzaktan alakasi yok herhangi bir class'a yaparsin :) Inheritance'in mantigi farkli. Inh1'in Insan, Inh2'nin ise erkek oldugunu dusun. Bir erkek insan olmanin tum ozelliklerine sahipken kendi spesifik ozellikleri var. Ama bir insanda yaptigin degisiklik, baska bir erkek'i etkilemez, o da ozunde insan olmasina ragmen. Bok gibi de bir ornek oldu ya hehe Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Stblack Mesaj tarihi: Temmuz 17, 2009 Konuyu açan Paylaş Mesaj tarihi: Temmuz 17, 2009 ya inheritance'a hep araba ornegi verilir. Yok butun arabalarda pencere vardır da , BMW'de sunroof vardır geri kalan butun ozelliklerini arabadan alır falan:) Ama seninki daha yaratıcı olmuş:) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Laorx Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 cidden bende baya inheritance örneği duymuştumda insan-erkek örneği baya yaratıcı ehueh:) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Saykoleo Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 Yanlış anlamadıysam yaptığın şeyi static keyword'üyle yaparsın. Static o class için genel bir değişken yaratmanı sağlar şöyle olacak bak: kod public class A { static private int x; static public int getX() { return this.x; } static public void setX(int x) { this.x = x; } } public class B extends A { } main() { A.setX(5); System.out.println(B.getX()); } Syntax hatası yapmışsam affola :). Ama anladığım kadarıyla bir class için genel bir değişken yaratmak istiyorsun. Bu genellikle işte köpek class'ı için mesela köpek sayısını saklamak için kullanılır veya banka hesapları için toplam hesap sayısı. Diğer bir kullanım amacı benzer method'ları bir grup altında toplamak. Math.random() veya Math.cos() gibi, ama böyle kullanıcaksan class'ı abstract de yapman güzel olur. Neyse senin istediğini düşündüğüm şey bu. :) Burada dikkat etmen gereken bir de şu var, static method veya variable kullanırken instance yaratmana gerek yok, hatta yaratırsan hata çıkar. Static'ler class'a aittir instance'a değil. Yardımcı olabilmişimdir umarım :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Temmuz 17, 2009 Paylaş Mesaj tarihi: Temmuz 17, 2009 Stblack, yapmak istediğin şey ne? Neden inheritance kullanmak istiyorsun? Tam olarak ne yapmak istediğini anlamadım ama class, object, static method gibi kavramları iyice öğrenmeden inheritance'a girişmiyorsundur umarım. Okuduklarımdan anladığım kadarıyla class, object gibi kavramları okuyup öğrenmişsin, ama sanki daha tam oturmamış gibi. Saykoleo, static metod içinde this kullanmış olman dışında sorun yok. Ama pek de gerekli bir inheritance kullanımı değil gibi. Zaten static method'lar override edilemez, dynamic binding de yok. Sadece üst class'ın metoduna ulaşmış oluyorsun. Saykoleo said: Burada dikkat etmen gereken bir de şu var, static method veya variable kullanırken instance yaratmana gerek yok, hatta yaratırsan hata çıkar. Static'ler class'a aittir instance'a değil. Ne yazık ki instance üzerinden static metod çağırırken hata çıkmıyor, compiler uyarı veriyor sadece. static bir foo metodu varsa A.foo() yerine new A().foo() da çağrılabiliyor. Ne yazik ki diyorum çünkü mantıklı bir şey değil. Yazmış olduğun gibi static instance'a ait bir şey değil. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Stblack Mesaj tarihi: Temmuz 17, 2009 Konuyu açan Paylaş Mesaj tarihi: Temmuz 17, 2009 @Saykoleo Tesekkurler , bende denedim static yontemini ama olmadı garip bir sekilde ama yapmak istedigim seyi.File kullanarak hallettim. @Mirage Inheritance kullanmaya calısmamın sebebi soyledigim seyi inheritance yoluyla yapabilecegimi dusunmustum, aklıma birsey gelmedi onu denedim.Zaten file ile halledince inheritance'a gerek kalmadı cunku zaten birbirleriyle cok alakasız classlar.Birisi process calıstırıp shell'e script falan yazdırdıgım bi class, digeri de hazırladıgım interface class'ıydı.3 hafta once basladım staja,ve bir anda cok fazla sey ogrenmem gerekti,interface yaptım,external process calıstırdım falan derken Java'nın temelinden biraz saptım, acıkcası cok da fazla okuyacak zamanım olmadı. Ama yardımlarınız icin tesekkurler bu yazdıklarınızdan baya bisey ogrendim:) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar