CodeGym /Java Blogu /Rastgele /Eski Seviye 05
John Squirrels
Seviye
San Francisco

Eski Seviye 05

grupta yayınlandı

Yazılımcı olabilir miyim?

Eski Seviye 05 - 1Denizcilik ilkesi şöyle der: Fiziksel olarak uygun erkek veya kadın bulursanız, doğru eğitim ve öğretimi sağlayarak onu eşsiz bir dövüşçü yapabilirsiniz. Programlama, gitar çalmak, yüzmek veya bisiklete binmekle aynı beceridir. İnsanlar bisikletçi olarak doğmazlar. Benden iki kat çalışıp dört kat az para kazanan arkadaşlarımı görünce şöyle bir sohbete başlıyorum: — Programcı olarak çalışmak ister miydiniz? Gerçekten akıllısın. Belki de yerinde değilsin?

Neden yazılım geliştirme?

Bir kişiye programlama öğretmeye başlamadan önce, bunun ona ne kazandırdığını öğrensek iyi olur.

1 Basit ve ilginç bir iş.

Yazılım mühendisi basit ve ilginç bir iştir. Yaratıcılık için harika bir alana sahiptir. Bayıldım. İlk başta sevdiğim şeyi yapacağımı ve bunun için para alacağımı düşünerek çıldırdım. Ama sonra sonunda alıştım.

2 İyi ödenir.

Arkadaşlarımın 5 yıllık çalışma sonunda kendilerine araba ve ev almalarını izlemekten keyif alıyorum.

3 Esnek saatler.

Sıkı bir çalışma programı kötü bir şeydir. Yoğun saatlerde trafik sıkışıklığına giren veya 5 dakika geç kaldığı için ceza alan herkes bunu doğrulayabilir. Peki ya işe sabah 11'de gelip akşam 5'te ayrılabilmek? Çoğu programcı için olağan bir programdır. Sadece işini yap ve kimse ters bir kelime söylemeyecek. Hatta çoğu şirkette evden çalışabilirsiniz. İşvereninizle her zaman makul bir anlaşmaya varabilirsiniz.

4 Mesleki gelişim.

Çoğu şirkette, iyi bir ödeme alabilmek için kariyer basamaklarını tırmanmanız gerekir. Bir yazılım geliştiricinin yalnızca bir yazılım geliştiricisi olması gerekir. Bir geliştiriciden yöneticiliğe yeniden kalifiye olmanız veya lider bir pozisyon almaya çalışmanız gerekmeyecek. Tek yapmanız gereken profesyonel olarak büyümek. 5 ila 10 yıllık deneyime sahip geliştiricilere asil bir şekilde ödeme yapılır.

5 Yüksek uluslararası hareketlilik.

Dünyada en yüksek maaşlı üç meslek vardır: avukat, doktor ve yazılımcı. Yurt dışında çalışan avukatlar için gerçek bir zorluktur: farklı yasalar, içtihatlar vb. Bir doktorun dili, diğer tıbbi standartları öğrenmesi ve sınavları geçmesi gerekir. Bir geliştiricinin ek bir şey öğrenmesi gerekmeyecek. Aynı dil. Aynı standartlar. Çoğu zaman müşteriler bile aynıdır.

Neden Java?

Aşağıdaki üç faktörün toplamı, insanları Java geliştiricileri için yeniden eğitmemi sağladı.

1. Java — öğrenmesi en kolay dillerden biridir.

Okulu yeni bitirmiş bir kişi, temel bilgiye ve çalışmaya harcanan saat miktarına bağlı olarak 3 ila 6 ay arasında öğrenebilir.

2. İşgücü piyasasında yüksek talep.

Tecrübesiz iş bulabilirsiniz. Şirketler hevesle stajyer istihdam ediyor ve onları eğitmeye devam ediyor.

3. Alandaki en yüksek maaşlar.

En yükseklerden biri. Bu özellikle genç geliştiriciler için önemlidir.  

Programlama bir beceridir

Eski Seviye 05 - 2Kitap okuyup bilgisayar programcısı olamazsın. En az 500 saat pratik yapmalısın. Tıpkı boks gibi. Sadece maç izleyip profesyonel olamazsınız. Yıllarca eğitim almanız gerekiyor. (Bu nedenle CodeGym'in pek çok pratik görevi vardır). Size 10 saatte nasıl programlanacağını öğretme tekliflerinin tümü, size 10 saatte boks yapmayı öğretme teklifleriyle aynıdır. Ve sonra seni bir boks ringine at! Bunu yapma. Bazen bir acemi forumlarda nasıl yazılım geliştirici olunacağını sorduğunda, kendisine görevler icat etmesi ve bunları yapması söylenir. Bu işe yaramaz.Mesele şu ki, insan bilgisi dışında bir görev yapamaz. Bir şeyi ya bilirsin ya da bilmezsin. Yalnızca konusunda uzman bir kişi, her biri size yeni şeyler öğretecek ve çözmesi haftalar sürmeyecek sıralı bir görev seti oluşturabilir. CodeGym'de yaptığım şey buydu.

Yeni yenilikçi öğretim yöntemi

CodeGym eğitimi, kolej eğitiminden farklı bir şekilde yapılır. Bunu çok yakında fark edeceksiniz. Çok daha etkili. Üniversitedeki çalışmalarınız muhtemelen şöyleydi: uzun dersler ve öğrendiklerinizi pekiştirmek için pratikler. Bu yaklaşımı izleyerek becerilerinizi değil, bilginizi geliştirirsiniz. Dürüst olmak gerekirse, bu şekilde edindiğiniz becerilerin pratikte hiçbir değeri yoktur. Başka bir yaklaşımım var. Bir insanın önce soru sorması ve ancak ondan sonra sorularına cevap alması gerektiğine inanıyorum. Sorudan önce verilen yanıtın hiçbir değeri yoktur. Derslerim sorularınızın cevaplarıdır. Bu yüzden önce size mevcut bilginizle çözmesi zor olan pratik görevler veriyorum. Bu görevler soru soruyor ve sonra bilgi ve dersler olan cevaplarımı alıyorsunuz. Size yeni bilgileri üç aşamada sunuyorum:
  1. Giriş (Minimum teori ve birkaç pratik görev)

  2. Temel blok bilgisi (Konuyu tam olarak anlamalısınız)

  3. Detaylar ve nüanslar (burada boşlukları dolduruyorum)

Bu şekilde bir ve aynı konuyla en az üç kez karşılaşacaksınız. Ve her şeyin birbiriyle büyük ölçüde bağlantılı olduğunu söylemeye bile değmez ve bir konuyu, en azından kısmen, bir öncekini açıklamadan tam olarak açıklamak imkansızdır. Hatta bazı öğrenciler, bazı görevlerin çok zor olmasına içerler ve henüz bunu çalışmadıklarını söylerler. Bu tür görevler, düşünmek için bir duraklama sunar: mevcut bilgi düzeyinizi kullanarak bunları nasıl çözersiniz? Bu görevleri çözmek için bir veya iki saat harcayabilirsiniz, ancak daha sonra yeni bir orijinal yaklaşım veya zarif bir çözüm bulmaktan çok memnun kalacaksınız. Aslında, gerçek hayatta size önce iş yerinde bir görev verilecek ve ancak daha sonra onu çözme bilgisini bulacaksınız. Bu gerçek hayat, çocuklar. Bu nedenle, böyle bir yaklaşıma ne kadar çabuk alışırsanız o kadar iyidir.

Seviye 5

Eski Seviye 05 - 3

1 Elly sınıflar hakkında konuşuyor

- Selam dostum! - Merhaba Elly! - Bugün size derslerin ne olduğunu anlatmak istiyorum. - Açıklama # 1. Bir benzetme ile başlayacağım. Evrenimizdeki her şey atomlardan yapılmıştır. Farklı türlerde olabilirler: hidrojen, oksijen, demir, uranyum, ... Atomları birleştirmek, çeşitli şeyler veya nesneler yaratmayı sağlar. - Aynısı Java evreni için de geçerlidir. Burada programlar farklı türdeki nesnelerden oluşur (burada sınıf bir türdür): Tamsayı, Dize, Dosya, Nesne, … Nesneleri birleştirmek, çeşitli web hizmetleri veya programlar oluşturmaya olanak tanır. - Farklı atomların farklı iç yapıları vardır. Çok sayıda elektron, proton ve nötron içerirler. - Farklı sınıflar (Java'daki nesne türleri) de farklı iç yapıya sahiptir. Çeşitli değişkenler ve yöntemler içerirler. - Evet, atom yapısı hakkında genel bir fikrim var. Ben bir robotum, değil mi? - Programa bir bütün olarak bakalım: Nesneler, programı oluşturan yapı taşları gibidir. Sınıflar bu blokların türleridir. Farklı türdeki bloklar, farklı sınıfların nesneleridir. - Anladım. - Açıklama # 2. Yeni bir nesne türüne ihtiyacımız olduğunda yeni bir sınıf oluşturuyoruz. Bu sınıf içinde, nesnelerin istenen davranışını tanımlarız. - Bir şey anladım ama bundan emin değilim. - İç yapı göz önüne alındığında, sınıf, bir şeyler yapan sınıf yöntemlerinden ve yöntemlerin paylaşılan verileri depoladığı sınıf değişkenlerinden oluşur. - Basitçe söylemek gerekirse, sınıf bir dizi yöntem midir? - Hemen hemen, daha spesifik olarak, sınıf, birlikte çalışan bir grup yöntem ve yöntemlerin paylaşılacak farklı değerleri sakladığı değişkenlerdir. - Evet. Yeni bir sınıf oluşturmak için şu yöntemleri yazmamız gerekiyor… - Evet. Ayrıca hangi değişkenlerin farklı yöntemlerle paylaşılacağına karar vermemiz ve ardından değişkenleri bir yöntemden sınıfa çıkarmamız gerekir: yöntem değişkenlerini sınıf değişkenlerine çevirin. - Sınıflar aşağıdaki modele göre oluşturulur: 1 Programcı başka hangi nesnelere ihtiyacı olduğuna karar verir. 2 Programcı, yaptıkları işe bağlı olarak bu nesneleri farklı türlere ayırır. 3 Programcı her tür için ayrı bir sınıf yazar. 4 Derste gerekli metotları ve değişkenleri bildirir. 5Yöntemin programcının yapmasını istediği şeyi yapması için her yöntemde komutların yazılması gerekir. 6 Sınıf hazır, artık nesnelerini oluşturabilirsiniz. - Mükemmel! Bu ilginç bir plan. hatırlayacağım. - Ezberlemelisin, işine yarayacaktır. Programın nesnelere ayrıldığı programlama yaklaşımına nesne yönelimli programlama ( OOP ) denir. - Java, OOP yaklaşımının klasik bir örneğidir, çünkü Java'da her şey nesnelerdir. - Java öğrenmek iki ana görevden oluşur: kendi sınıflarınızı yazmayı öğrenmek ve diğer insanların sınıflarını kullanmayı öğrenmek. Bugün en kolay şeylerden başlıyoruz. Basit sınıflar yazmayı ve tabii ki bunların nesnelerini oluşturmayı öğreneceksiniz. Nesneler genellikle sınıfların örnekleri olarak adlandırılır. Bunlar eşanlamlıdır, her iki şekilde de doğrudur. - Anladım. - Özetlemek gerekirse, sınıfın bir mini program olduğunu söyleyebilirim: bir dizi veri ve bu verilerle bir şeyler yapan işlevler. Sınıfların önemli bir özelliği, bu sınıfların (nesnelerin) örneklerini oluşturma yeteneğidir. - Bir sınıf nesnesi oluşturmak için, «new class_name()» kodunu yazmanız gerekir . Eski Seviye 05 - 4- Bir sınıf nesnesinin iki ilginç özelliği vardır: - Birincisi. Her sınıf nesnesi, sınıf değişkenlerinin kendi kopyasını saklar.Yani sınıfta x, y değişkenleri bildirilirse ve bu sınıfa ait 10 nesne oluşturulursa, o zaman her nesnenin kendi değişkenleri olur. Bir nesnenin değişkenlerini değiştirmek, diğer nesnenin değişkenlerini etkilemez. - İkinci. Yeni bir nesne oluşturulduğunda ona çeşitli parametreler iletilebilir. Bunlar "başlangıç ​​değerleri" olarak adlandırılır. Neredeyse doğumda bir isim vermek gibi. Bu tür parametreleri geçirmeden birçok nesne oluşturulamaz. - Biraz anlıyorum. Ve sınıf değişkenleri hakkında ne dedin? - Her nesnenin kendi veri kopyası vardır (sınıf değişkenleri). Eski Seviye 05 - 5

2 Risha paketler hakkında konuşuyor

- Selam dostum! Şimdi size paketlerden bahsedeceğim. - Bilgisayardaki dosyalar klasörler halinde gruplandırılmıştır. Java'daki sınıflar (her sınıf ayrı bir dosyadadır), bir disk üzerindeki klasörler olan paketler tarafından gruplandırılmıştır. Bu yeni bir şey değil. Ama iki açıklama var. - Birincisi , «benzersiz bir tam sınıf adı», «paket adı» + «sınıf adı»dır . Örnekler: Eski Seviye 05 - 6- Tam sınıf adı her zaman benzersizdir! - Her seferinde java.util.ArrayList gibi uzun bir isim yazmak çok zordur . Bu nedenle, kodunuzda diğer sınıfların kısa adlarını kullanabilirsiniz. Ama bunun için biraz sihir kullanmalısın. - Ne büyüsü? - «java.util.ArrayList'i içe aktar;» ifadesini kullanabilirsiniz. - Sınıfın başında, paket tanımlandıktan hemen sonra, kodunuzda kullanılan ArrayList sınıfının tam adını belirtmeniz gerekir. Kodunuzda java.util.ArrayList, sun.generic.ArrayList ve com.oracle.ArrayList sınıflarını kullandığınızı varsayalım. İçe aktarmada bunlardan birini belirtebilirsiniz (örn. sun.generic.ArrayList;) ve kısa adını kullanabilirsiniz. Sadece bir sınıfla ilgilidir. - Bu neden bu kadar karmaşık? İsimleri aynı olan sınıflar olabilir mi? - Evet, farklı paketlerde aynı isimli sınıflar olabilir. Ancak aynı ada sahip iki sınıfı sınıfımıza aktaramıyoruz., bu yüzden bunlardan birine tam ad vermeliyiz. - İşte başka bir benzetme. Ekibinizde Bill var ve iletişimde herhangi bir sorun yok çünkü herkes onun kim olduğunu biliyor. Ancak üç Fatura olsaydı, aralarında ayrım yapmak için tam benzersiz adlarını kullanmanız gerekirdi. - İkincisi , sınıfları src kök klasörüne değil, paketlere koymak daha iyidir . Az sayıda sınıf olduğunda sorun olmaz, ancak çok sayıda sınıf olduğunda kafanın karışması çok kolaydır. Bu nedenle sınıfları her zaman yalnızca paketler halinde oluşturun. Java'daki kural, sınıflara ve paketlere açıklayıcı adlar vermektir. Birçok şirket kitaplıklarını (sınıf kümeleri) üretir ve karışıklığı önlemek için bu sınıfların ad paketlerini şirketten/web sitesinden sonra verir: Eski Seviye 05 - 7

3 Kim video eğitimlerini gösteriyor

- Selam dostum! İşte sınıfların ve paketlerin nasıl oluşturulacağına ilişkin birkaç video eğitimi:
- Zaten yaptık! - Robot hayatında bin kere yapacaksın. Öyleyse buna alış. Ve şimdi pratik yapmalısın! Java sınıfları oluşturma Paketler oluşturma

4 Elly, nesne oluşturma, nesne referansları

- Demek geçen sefer dersleri öğrenmiştik. Bugün size nesnelerin nasıl yaratılacağını anlatmak istiyorum. Çok basit: new anahtar kelimesini ve oluşturmak istediğimiz nesnenin sınıf adını yazın: Eski Seviye 05 - 8- Ama daha önce duymuştum. - Biliyorum, ama lütfen dinle. - Yeni bir nesne oluşturulduğunda, parantez içinde çeşitli parametreler iletilebilir. Bugün biraz sonra açıklayacağım. Cat sınıfını ele alalım: - Bu alıcılar ve ayarlayıcılarEski Seviye 05 - 9 nelerdir ? - Diğer sınıflardan erişilemeyen değişkenler Java'da yaygın bir uygulamadır. Normalde, bir sınıf içinde bildirilen değişkenler private değiştiricisine sahiptir . - Özel değişkene erişim vermek için iki yöntem oluşturmalısınız: getve ayarlayın . Get yönteminin amacı, değişkenin geçerli değerini onu çağıran kişiye döndürmektir. Yöntem kümesinin amacı yeni bir değer ayarlamaktır . - Ve ne anlamı var? - Eğer kimsenin nesne değişkenlerimizin değerlerini değiştirmesini istemiyorsak, no method set yazabilir veya private yapabiliriz . Bu yönteme ek veri kontrolü de ekleyebilirsiniz. Geçirilen yeni değer geçersizse hiçbir şeyi değiştirmeyin. - İlginç. - Sınıfta çok fazla değişken olabileceğinden metot isimleri get ve set edilir .genellikle birlikte çalıştıkları bir değişkenin adını içerir. - Bir değişken fullName olarak adlandırılmışsa, yöntemler getFullName ve setFullName olarak adlandırılmalıdır . Ve buna benzer şekilde. - Anladım! Genel olarak anlaşılır bir yaklaşım. - İşte yeni oluşturulan bir nesneyle nasıl çalışılacağına dair birkaç örnek: Eski Seviye 05 - 10

5 Diego, Kendi sınıflarını ve nesnelerini oluşturmak için görevler

- Selam dostum! Sınıflar ve nesneler oluşturmak için bazı görevler şunlardır:
Görevler
1 Bir sınıf oluşturun Cat
Bir sınıf oluşturun Cat. Bir kedinin adı (isim, String), yaşı (yaş, int), ağırlığı (ağırlık, int) ve gücü (kuvvet, int) olmalıdır.
2 Yöntem dövüşü uygula
Yöntem boolean dövüşü uygula(Cat başkaCat): kedilerin ağırlığına, yaşına ve gücüne bağlı olarak bir dövüş mekanizması uygula. Kendinize bir bağımlılık oluşturun. Yöntem, mevcut kedinin (dövüş yöntemi çağrılan nesne) veya başka bir Kedinin dövüşü kazanıp kazanmadığını belirlemelidir, yani mevcut kedi kazanırsa doğru, kazanmadıysa yanlış döndürür. Aşağıdaki koşul karşılanmalıdır:

if cat1.fight(cat2) == true, then cat2.fight(cat1) == false
3 Dog sınıfı için alıcılar ve ayarlayıcılar <
Create a class Dog. Bir köpeğin bir adı olmalıdır - Dize adı ve yaşı - int yaşı.
Dog sınıfının tüm değişkenleri için alıcılar ve ayarlayıcılar oluşturun.
4 Cat tipinde üç nesne
oluşturun Ana yöntemde Cat tipinde üç nesne oluşturun ve bunları verilerle doldurun.
İlk görevin Cat sınıfını kullanın. Cat sınıfını oluşturmayın.
5 Kediler arasında üç ikili dövüş yapın
Cat sınıfını kullanarak üç kedi oluşturun.
Kediler arasında üç ikili dövüş yapın.
Cat sınıfını oluşturmayın. Dövüş için boolean dövüşü(Cat başkaCat) yöntemini kullanın.
Her dövüşün sonucunu görüntüleyin.

6 Risha, bir nesne başlatma hakkında konuşuyor

- Size nesne başlatma hakkında bilgi vermek istiyorum. Bir nesne oluşturulduğunda, bir nesneye erişmeye çalıştığınızda bir durumdan kaçınmak için değişkenlerine başlangıç ​​verileri atamak gerekir ve nesnenin düzgün çalışması için gerekli hiçbir veri yoktur. - Dosya türünden bir nesne düşünelim. Dosya için gereken minimum bilgi, dosyanın adıdır. Adı olmayan bir dosya saçmalıktır. - Dosyalarla çalışmak için kendi File sınıfı sürümünüzü (örneğin MyFileClass) yazdığınızı varsayalım. Bu sınıfın her nesnesi için hangi bilgilere ihtiyaç vardır? - Bu nesnenin çalışacağı dosyanın adı? - Bu doğru. Bu nedenle , sınıfımıza Initialize() yöntemini ekliyoruz . Şöyle görünecek: Eski Seviye 05 - 11- Yöntemi ekledikbir nesneyle çalışabilmek için - yöntemlerini çağırın . Bu, başlatma yöntemi çağrıldıktan hemen sonra yapılabilir. Bir nesneyle çalışamıyorsanız, buna geçersiz denir, aksi halde geçerli olur . Başlatma yönteminin temel amacı, onu geçerli kılmak için gerekli tüm verileri nesneye iletmektir. - Anladım! - Şimdi görevi karmaşıklaştıralım. Daha doğrusu basitleştirin. Nasıl baktığınıza bağlı. Sınıfımızı kullanacak başka bir programcı için tam dosya adını değil, bir dizin ve kısa bir dosya adını iletmenin daha kolay olduğunu hayal edin. Bu işlevi, başka bir başlatma yöntemi kullanarak uygulayabiliriz ( Java, aynı adlara sahip birden çok yöntem oluşturmayı sağlar)). O zaman sınıfımız şöyle görünecek: Eski Seviye 05 - 12- Dahası, mevcut dosyanın yanında geçici bir dosya kopyası oluşturmak genellikle gereklidir. - Bu durum için bir yöntem yapabilir miyiz? -Tabii, şuna bir bak: Eski Seviye 05 - 13-Peki, bu yöntemlerden istediğim kadar yapabilir miyim? - Elbette mantıklı. Ama aslında, istediğiniz kadar. - Ve başlatma yöntemini çağırmak ne zaman gereklidir? - Nesne oluşturulduktan hemen sonra onu geçerli bir nesneye dönüştürmek için: Eski Seviye 05 - 14- Peki getFolder() yöntemi nedir? - Adından da anlayacağınız üzere bu method dosyamızın bulunduğu klasörün adını içeren bir string döndürmek içindir. Ama uygulamasını buraya yazmadık, sadece göstermelik.

7 Diego, Nesne başlatma görevleri

- Selam dostum! Derslerimiz olmadan sıkıldım. İşte bazı nesne başlatma görevleri:
Görevler
1 Bir sınıf Friend oluşturun
Üç başlatıcı ile bir Friend sınıfı oluşturun (başlatmak için üç yöntem):
- Ad
- Ad, yaş
- Ad, yaş, cinsiyet
2 Bir Cat sınıfı oluşturun
Beş başlatıcı ile bir Cat sınıfı oluşturun:
- Ad
- Ad, ağırlık, yaş
- Ad, yaş (standart ağırlık)
- Ağırlık, renk, (ad, adres ve yaş bilinmiyor, bu bir sokak kedisi)
- Ağırlık, renk, adres (başkasının ev kedisidir)
Başlatıcı'nın görevi, bir nesneyi geçerli kılmaktır. Örneğin, ağırlık bilinmiyorsa, ortalama bir ağırlık belirtmeniz gerekir. Bir kedinin yaşı gibi hiçbir ağırlığı olamaz. Ancak adı olamaz (null). Aynısı adres için de geçerlidir - boş olabilir.
3 Bir Köpek sınıfı oluşturun
Üç başlatıcı ile bir Köpek sınıfı oluşturun:
- Ad
- Ad, yükseklik
- Ad, yükseklik, renk
4 Bir sınıf Circle oluşturun
Üç başlatıcı ile bir Circle sınıfı oluşturun:
- centerX, centerY, yarıçap
- centerX, centerY, yarıçap, genişlik
- centerX, centerY, yarıçap, genişlik, renk
5 Bir sınıf Dikdörtgen oluşturun
Bir sınıf Dikdörtgen oluşturun. Verileri üst, sol, genişlik ve yükseklik olacaktır. Bunun için mümkün olduğu kadar çok başlatma (...) yöntemi yazın

Örnekler:
- 4 parametre ayarlanmalıdır: sol, üst, genişlik, yükseklik
- genişlik/yükseklik ayarlanmamıştır (her ikisi de 0'a eşittir)
- yükseklik ayarlanmamıştır (eşittir) genişlik), bir kare oluşturun
- başka bir dikdörtgenin bir kopyasını oluşturun (parametrelerde iletilir)

8 Elly inşaatçılar hakkında konuşuyor

- İnşaatçılardan bahsetmenin zamanı geldi. Çok basit: programcılar, nesne yaratma ve başlatma için kısa bir notasyon icat ettiler: Eski Seviye 05 - 15- Ama şu başlatıcıları şimdi anladım... - Üzülmeyin. Daha yakından bak. Yapıcıları kullanmak daha kullanışlıdır ve yerden tasarruf sağlar. - Evet, çok daha iyi görünüyor. Ancak bir soru var: Sınıfta bir başlatma yöntemini nasıl yazacağımı biliyorum, ancak sınıf içinde bir yapıcıyı nasıl yazacağım? - Öncelikle basit bir örneğe bakın: Eski Seviye 05 - 16- Sınıfta yapıcıyı bildirmek çok kolaydır. Yapıcı, başlatma yöntemi gibidir, ancak iki fark vardır:
  • Yapıcı yöntemin adı, sınıf adıyla aynıdır ( initialize yerine ).
  • Yapıcı yöntemin dönüş türü yoktur (hiç bir tür belirtilmemiştir).
- Aslında, aynı başlatma yöntemidir, ancak birkaç fark vardır. Anladım.

9 Diego, İnşaatçı görevleri

- Biraz dinlendin sanırım. İyi. İşte bazı yapıcı oluşturma görevleri:
Görevler
1 Bir sınıf Friend oluşturun
Üç kurucu ile bir Friend sınıfı oluşturun:
- İsim
- İsim, yaş
- İsim, yaş, cinsiyet
2 Bir Cat sınıfı oluşturun
Beş kurucu ile bir Cat sınıfı oluşturun:
- Ad,
- Ad, ağırlık, yaş
- Ad, yaş (standart ağırlık)
- Ağırlık, renk, (ad, adres ve yaş bilinmiyor. Bu bir sokak kedisi)
- Ağırlık, renk, adres (başkasının ev kedisidir)
Başlatıcı'nın görevi, bir nesneyi geçerli kılmaktır. Örneğin, ağırlık bilinmiyorsa, ortalama bir ağırlık belirtmeniz gerekir. Bir kedinin yaşı gibi hiçbir ağırlığı olamaz. Ancak adı olamaz (null). Aynısı adres için de geçerlidir - boş olabilir.
3 Bir Köpek sınıfı oluşturun
Üç kurucu ile bir Köpek sınıfı oluşturun:
- İsim
- İsim, yükseklik
- İsim, yükseklik, renk
4 Bir sınıf Circle oluşturun
Üç yapıcılı bir Circle sınıfı oluşturun:
- centerX, centerY, radius
- centerX, centerY, yarıçap, genişlik
- centerX, centerY, yarıçap, genişlik, renk
5 Bir sınıf Dikdörtgen oluşturun
Bir sınıf Dikdörtgen oluşturun. Verileri üst, sol, genişlik ve yükseklik olacaktır. Bunun için mümkün olduğu kadar çok oluşturucu oluşturun:

Örnekler:
- 4 parametre ayarlandı: sol, üst, genişlik, yükseklik
- genişlik/yükseklik ayarlanmadı (her ikisi de 0'a eşit)
- yükseklik ayarlanmadı (genişliğe eşit), bir kare oluştur
- başka bir dikdörtgenin bir kopyasını oluşturun (parametrelerde iletilir)

10 Profesör, Sınıflar ve kurucular

- Yine ben. Derslerimiz tek kelimeyle harika. Size sıkıcı derslerin linklerini vermeyeceğim. İşte mükemmel şeyler için bir bağlantı! - Hala burada mısın? Çabuk git, oku ve laboratuvara gitmeliyim. CodeGym Ders 5 Tartışma

11 Temmuz

- Selam dostum! Biraz yorgunum. Biraz dinlenelim ve sonra derse başlayalım. Yeni bir bölüm buldum:

12 John Sincap

- Merhaba asker! - Günaydın efendim! - Size harika haberlerim var. İşte becerilerinizi pekiştirecek görevler. Bunu her gün yapın ve becerilerinizi hızla geliştireceksiniz. Görevler, Intellij IDEA'da yapılacak şekilde özel olarak tasarlanmıştır.
Intellij Idea'da yapılacak ek görevler
1 1. Üç sınıf
1. Ördek sınıfına benzeterek Kedi ve Köpek sınıfını oluşturun.
2. Cat ve Dog sınıflarında toString yönteminin ne döndürmesi gerektiğini düşünün.
3. main yönteminde her sınıfta iki nesne oluşturun ve bunları görüntüleyin.
4. Duck sınıfı nesneleri oluşturulur ve görüntülenir.
2 Erkek ve Kadın
1. Çözüm sınıfında genel statik erkek ve kadın sınıfları oluşturun.
2. Sınıfların alanları olmalıdır: name(String), age(int), address(String).
3. Tüm olası parametreleri iletmek için yapıcılar oluşturun.
4. Tüm verilerle her sınıftan iki nesne oluşturmak için yapıcıyı kullanın.
5. Nesneleri [isim + " " + yaş + " " + adres] biçiminde görüntüleyin.
3 3. Dog ve Cat genel statik sınıfları oluşturun.
İsteğinize göre her sınıfa üç alan ekleyin.
Tom ve Jerry çizgi film karakterleri için hatırladığınız kadarıyla nesneler oluşturun.

Örnek:
Mouse jerryMouse = new Mouse(“Jerry”, 12 (yükseklik, cm), 5 (kuyruk uzunluğu, cm))
4 4. Geçerli tarihi görüntüleyin
Ekranda geçerli tarihi «21 02 2014» benzeri bir biçimde görüntüleyin.
5 5. Klavyeden sayıları okuyun ve toplamlarını hesaplayın
Klavyeden sayıları okuyun ve kullanıcı «toplam» kelimesini girene kadar toplamlarını hesaplayın. Toplamı ekrana göster.
- O görevler yeşillikler içindi. Daha yüksek karmaşıklıkta bonus görevler ekledim. Sadece en iyi silahlar için.
Bonus görevler
1 1. Program derlenmiyor ve çalışmıyor. Düzelt.
Görev: Program klavyeden iki sayıyı okumalı ve toplamını göstermelidir.
2 2. Programa yeni işlevler ekleyin.
Eski Görev: klavyeden iki sayıyı okuyan ve minimum değerlerini görüntüleyen yeni bir işlev ekleyin.
Yeni görev: Klavyeden beş sayıyı okuyan ve minimum sayılarını görüntüleyen yeni bir işlev ekleyin.
3 3. Algoritmayı öğrenmek ve uygulamak.
Görev:
1. Konsoldaki N sayısını sıfırdan büyük okuyan
2. Sonra konsoldan N sayıları okuyan
3. Girilen N sayının maksimumunu gösteren bir program yazınız .
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION