java class vs object how use class
Bu eğitimde, OOPS kavramlarından birini ayrıntılı olarak tartışacağız. Java Sınıfı ve Nesnesi hakkında her şeyi örneklerle birlikte keşfedeceğiz:
Nesne yönelimli programlamanın veriyi vurguladığını ve dolayısıyla nesneler adı verilen varlıklar etrafında döndüğünü biliyoruz. Sınıflar, bu nesnelerin taslağı görevi görür.
Bir sınıfın ve bileşenlerinin nasıl oluşturulacağını görelim. Ayrıca, bu öğreticinin sonraki bölümlerinde programlama örnekleri yardımıyla Java'da nesneler oluşturmayı ve başlatmayı öğreneceğiz.
=> Özel Java Eğitimi Eğitim Dizisi İçin Burayı Ziyaret Edin.
Ne öğreneceksin:
Java'da Sınıflar ve Nesneler
Java'da, tüm özellikler, nitelikler, yöntemler vb. Sınıflar ve nesnelerle bağlantılıdır. C ++ 'da yaptığımız gibi bir sınıf bildirmeden sadece main fonksiyonu ile bir Java programı yazamayız.
Örneğin, Bir araca bir program yazmak istersek, bir araç gerçek zamanlı bir nesnedir. Ancak araçlar çeşitli tiplerde olabilir. Bu, aracın araba, kamyon, scooter, bisiklet vb. Gibi çeşitli değerleri alabilen bir tür özelliğine sahip olduğu anlamına gelir.
Dolayısıyla, Java'da araç nesnesini ifade etme şeklimiz, bir 'Araç' sınıfı oluşturup çeşitli niteliklerini tanımlamamızdır. Daha sonra araba, bisiklet vb. Gibi çeşitli Araç sınıfı nesneleri ilan edebiliriz.
Sınıfın içinde, Vehicle'ın özelliklerini sınıf öznitelikleri (veri üyeleri) ve startVehicle (), stopVehicle (), vb. Gibi yöntemler olarak tanımlayabiliriz.
Bu şekilde, Java'daki varlığın en küçüğünü bile ifade etmek için, önce nesneyi tanımlamamız ve ardından onun planını veya bir sınıfını tanımlamamız gerekir.
Öyleyse önce sınıflar ve nesneler hakkında her şeyi öğrenelim ve ardından Java'daki diğer OOP kavramlarına geçelim.
Java Sınıfı
Java'da bir program geliştirmek için nesnelerden ve sınıflardan yararlanıyoruz. Java'daki bir sınıf yalnızca mantıksal bir birim iken, Java'daki bir nesne hem fiziksel hem de mantıksal bir varlıktır.
Java'da nesne nedir?
Nesne, durumu olan ve davranış sergileyen bir varlıktır. Örneğin, kalem, dizüstü bilgisayar, cep telefonu, masa, sandalye, araba vb. gibi gerçek hayattaki herhangi bir varlık bir nesnedir. Tüm bu nesneler ya fiziksel (somut) ya da mantıksaldır (soyuttur).
c ++ ikili arama ağacı uygulaması
Somut olmayan nesneler çoğunlukla bir havayolu sistemi, bankacılık sistemi vb .'dir. Bunlar, belirli bir duruma ve davranışa sahip mantıksal varlıklardır.
Her nesne aşağıdaki ana özelliklere sahiptir:
- Kimlik: Benzersiz bir kimlik, nesne kimliğini tanımlar. Bu kimlik normal kullanıcı tarafından görülmez ancak dahili olarak JVM bu kimliği nesneyi benzersiz şekilde tanımlamak için kullanır.
- Durum: Nesnedeki mevcut verileri veya nesnenin değerini tanımlar.
- Davranış: Bu özellik, bir nesnenin işlevselliğini (davranışını) temsil eder. Örneğin, Yukarıda tartıştığımız Araç nesnesi başlatma, durdurma vb. davranışa sahiptir.
Sınıfı tanımladığımızda nesne tanımını tekrar gözden geçireceğiz.
Öyleyse Sınıf nedir?
Nesneye yönelik programlamanın ana bileşeninin bir nesne olduğunu biliyoruz. Belirli bir nesne türü oluşturmak istiyorsak, bir plana ihtiyacımız var. Bu taslak bize bir nesne oluşturmamıza yardımcı olacak bir dizi talimat sağlayacaktır.
Örneğin, diyelim bir ev inşa etmek istiyoruz. Buradaki ev bir nesne. Bir ev inşa etmek için evin ilk planına ihtiyacımız var. Evi istediğimiz gibi doğrudan yapamayız.
Burası sınıfın devreye girdiği yerdir. Bu nedenle, bir nesne veya gerçek yaşam varlığı oluşturmak için, önce bir nesnenin içeriğini ve davranışını belirleyen bir plana sahip olacağız. Bu, nesne yönelimli programlamada bir sınıf olarak bilinir.
Dolayısıyla bir sınıf ' bir plan veya şablon ve nesnenin durumunu ve davranışını tanımlar ”.
Sınıfı bir nesne grubu olarak da görebiliriz. Bu grup, tüm nesneler arasında ortak olan bazı özelliklere sahiptir.
Java'da nasıl sınıf oluşturacağımızı görelim.
Java'da Sınıf Nasıl Oluşturulur
Java'daki bir sınıf tanımının genel sınıf sözdizimi şöyledir:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
Bir sınıfın yukarıdaki genel bildirimi, aşağıdaki şemada örnek bir sınıf bildirimi ile temsil edilmektedir:
Sınıf bildirimindeki üst sınıf ve arabirimin isteğe bağlı olduğunu unutmayın. Başka bir üst sınıftan genişletmeden veya herhangi bir arayüz uygulamadan bağımsız bir sınıfa sahip olmayı seçebiliriz.
Yukarıdaki genel tanım, sınıf tanımında mevcut olabilecek bileşenleri de gösterdi.
Sınıfın Bileşenleri
Sınıf Bileşenleri aşağıda temsil edilmektedir.
Yukarıdaki diyagramda gösterildiği gibi, bir Java sınıfı aşağıdaki bileşenleri içerir:
- Alanlar
- Yöntemler
- İnşaatçılar
- Bloklar
- İç içe geçmiş sınıf ve arayüz
Bundan sonra ilk üç bileşeni tartışacağız. Bu bileşenler herhangi bir sınıfta gereklidir. İç içe geçmiş sınıflar ve arayüzler tamamen farklı bir konudur ve sonraki eğitimlerimizde tartışılacaktır.
Sınıf bileşenleri üzerine bir tartışmaya başlamadan önce, ilk olarak bir Customer_Account sınıfı tanımlayalım
class Customer_Account { static String bank_name; //class variable long customer_accountNo; //instance variable String customer_name; //instance variable //constructor Customer_Account (long accountnum, String accName){ customer_accountNo = accountnum; customer_name = accName; } //method void printInfo(){ System.out.println ('Customer Account Details:'); System.out.println ('Customer Account Number: ' + customer_accountNo); System.out.println (' Customer Name: '+customer_name); } }
Alanlar
Alanlar, sınıfın değişkenleri veya verileridir. Alanlar, Java'da üye değişkenler olarak da adlandırılır. Alan ve değişken terimlerini birbirinin yerine kullanıyoruz.
Genellikle, bir sınıfın alanları iki türdendir:
# 1) Sınıf Değişkenleri: Sınıf değişkenleri, statik değişkenler olmaları için 'statik' kelimesiyle bildirilir. Bu, bu tür bir değişkenin, söz konusu sınıf için kaç örnek veya nesne bulunduğuna bakılmaksızın, sınıf başına yalnızca bir kopyaya sahip olduğu anlamına gelir.
# 2) Örnek Değişkenleri: Bunlar sınıf değişkenlerinin tam tersidir. Veri üyelerine örnek değişkenler denir çünkü bu değişkenler çalışma zamanında her sınıf örneği için kendileri için ayrılmış ayrı belleğe sahiptir.
Yukarıdaki sınıf tanımında, hem sınıf hem de örnek değişkenlerini gösterdik. Statik bir değiştiriciyle bildirilen 'banka_adı' değişkeni sınıf değişkenidir. Diğer iki değişken olan 'customer_accNo' ve 'müşteri_adı' örnek değişkenleridir.
Oluşturucu
Oluşturucular, genellikle bir sınıfın bir örneğini başlatmak için kullanılan özel yöntemlerdir. Oluşturucuların bir dönüş türü yoktur, sınıfla aynı ada sahiptirler ve parametreler içerebilir veya içermeyebilir.
Yukarıdaki sınıf tanımında bir kurucumuz var.
Customer_Account (long accountnum, String accName)
Sonraki eğitimlerimizde kurucular hakkında daha fazla bilgi edineceğiz.
Yöntem
Java sınıfındaki bir yöntem, nesnenin ve üyelerinin davranışını tanımlayan işlevdir.
Bir sınıf yöntemi, bir programda normal yöntemler oluşturduğumuz şekilde oluşturulur. Sınıf yöntemi içinde, Java tarafından sağlanan tüm yapıları ve özellikleri kullanabiliriz.
Örnek sınıf tanımımızda, sınıfın çeşitli veri üyelerini görüntüleyen bir 'printInfo' yöntemimiz var.
Java sınıfı yöntemi genellikle aşağıdaki prototipe sahiptir:
method_name(parameter list…){ //code blocks }
Sınıf yöntemlerine, nokta operatörü kullanılarak sınıf örneği tarafından erişilir. Dolayısıyla, yukarıdaki “Customer_Account” sınıfının bir örneğini oluşturursak, aşağıdaki kod satırını kullanarak printInfo'ya erişebiliriz.
acc.printInfo();
Access_modifier statikse, yönteme erişmek için bir örneğe ihtiyacımız yoktur. Yönteme erişmek için sınıf adını doğrudan şu şekilde kullanabiliriz:
Custome_Account.printInfo ();
Java Sınıfı Örneği
Java'da bir Sınıf ve Nesne göstermek için basit bir örnek uygulayalım.
mp3 oynatıcı için ücretsiz mp3 müzik indirmeleri
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Çıktı
Yukarıdaki program bir Öğrenci sınıfı ilan eder. Üç örnek değişkeni vardır, yani. öğrenci_kimliği, öğrenci_adı ve öğrenci_ işaretleri.
Daha sonra Student_object adında bir Öğrenci sınıfı nesnesi ilan ettiğimiz Ana sınıfı tanımlıyoruz. Ardından nokta operatörünü kullanarak, örnek değişkenlere erişir ve değerlerini yazdırırız.
Yukarıdaki program, sınıf dışındaki ana yönteme bir örnektir.
Aşağıdaki örnekte sınıf içerisinde bir ana metoda sahip olacağız.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Çıktı
Yukarıdaki program, ana yöntemin Öğrenci sınıfı içinde olması dışında önceki programla aynıdır.
Java'da Nesne
Artık Java'daki sınıflar hakkında yeterince bilgimiz var, nesneyi sınıf açısından yeniden tanımlayabiliriz. Yani bir nesne ' bir sınıfın bir örneği ”. Böylece sınıf_adı türünde bir değişken veya örnek oluştururuz ve bu bir nesne olarak adlandırılır.
Bir nesne hakkında hatırlanması gereken bazı noktalar:
- Bir nesne, sınıfla birlikte temel bir OOP birimi olarak görülür.
- Bir nesne, bir çalışma zamanı birimidir.
- Bir nesne, bir sınıfın örneği olarak adlandırılır.
- Bir nesnenin davranışı ve durumu vardır.
- Bir nesne, örneği olduğu sınıfın tüm özelliklerini ve niteliklerini alır. Ancak herhangi bir noktada, her nesnenin farklı durumları veya değişken değerleri vardır.
- Yazılım uygulamalarında gerçek zamanlı bir varlığı temsil etmek için bir nesne kullanılır.
- Tek bir sınıfın herhangi bir sayıda nesnesi olabilir.
- Nesneler metotları çağırarak birbirleriyle etkileşirler.
Bir Nesne Nasıl Örneklenir
Nesnenin beyanı aynı zamanda bir nesnelerin somutlaştırılması Java'da. Bir nesnenin bildirimi, bir değişkeni bildirmekle aynıdır.
Örneğin, Yukarıda beyan ettiğimiz Customer_Account sınıfı bir nesneyi bildirmek için kullanılabilir.
Bu nedenle, Customer_Account nesnesini aşağıdaki gibi bildirir veya somutlaştırırız:
Customer_Account account;
Yukarıdaki ifade, Customer_Account sınıfının 'hesabı' adlı bir nesneyi bildirir veya başlatır.
Bir sınıfın bir nesnesini somutlaştırdığımızda, sınıfın kesinlikle 'somut bir sınıf' olması gerektiğini unutmayın. Soyut bir sınıfın bir nesnesini ilan edemeyiz.
Yukarıdaki ifade yalnızca bir nesneyi bildirir. Bu değişkeni, sınıfın yöntemlerini çağırmak veya üye değişkenlerin değerlerini ayarlamak için kullanamayız. Bunun nedeni, bildirilen nesne için herhangi bir bellek ayırmamış olmamızdır.
Bu yüzden onu daha fazla kullanmak için uygun şekilde bir nesne oluşturmalıyız.
Bir nesnenin fiili olarak oluşturulması, nesnelerin başlatılmasıyla yapılır. Bir nesneyi ilan ettiğimizde, onu başlatmamız gerekir. O zaman bu nesneyi yalnızca sınıfın üye değişkenlerine ve yöntemlerine erişmek için kullanabiliriz.
Bir Nesne Nasıl Oluşturulur
Java'da aşağıdaki yöntemleri kullanarak bir nesne oluşturabiliriz:
# 1) Yeni Bir Anahtar Kelime Kullanma
Yeni bir anahtar kelime kullanarak bir nesneyi başlatabiliriz. Bu yöntem, yeni bir nesne oluşturmak için en yaygın kullanılan yöntemdir.
Örneğin,ABC sınıfı verildiğinde, aşağıdaki gibi yeni bir sınıf nesnesi oluşturabiliriz:
ABC myObj = new ABC ();
Yukarıdaki ifadede, myObj, new operatörü kullanılarak oluşturulan yeni nesnedir. Bu yöntem kullanılarak oluşturulan nesne, tüm veri üyelerinin başlangıç değerlerine sahiptir. New anahtar sözcüğünü izleyen ABC () yapısı, ABC sınıfının varsayılan yapıcısıdır.
Ayrıca yapıcıları parametrelerle tanımlayabilir ve bu kurucuyu new anahtar kelimesi ile çağırabiliriz, böylece veri üyelerinin istenen değerleri ile bir nesne oluşturabiliriz.
internet güvenlik anahtarım nedir
# 2) Class.forName () Yöntemini Kullanma
Java, sistemdeki sınıflar ve nesneler hakkındaki tüm bilgileri tutan 'Sınıf' adlı bir sınıf sağlar. Bir nesne oluşturmak için 'Class' sınıfının forName () yöntemini kullanabiliriz. ForName yöntemine argüman olarak tam nitelikli bir sınıf adı iletmeliyiz.
Ardından, sınıfın örneğini döndürecek newInstance () yöntemini çağırabiliriz.
Aşağıdaki kod satırları bunu göstermektedir.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
Yukarıdaki ifade ABC sınıfından yeni bir myObj nesnesi yaratacaktır.
# 3) Clone () Yöntemi ile
Java'daki nesne sınıfı, clone () yöntemine argüman olarak iletilen nesnenin klonunu veya kopyasını döndüren bir clone () yöntemi sağlar.
Örneğin,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Seriyi Kaldırma ile
Java, kaydedilmiş bir dosyadan bir nesneyi okuduğumuz seriyi kaldırma adı verilen bir teknik sağlar. Ayrı bir öğreticide serileştirmeyi öğreneceğiz.
Bir Nesne Nasıl Başlatılır
Bu bölümde, Java'da bir nesneyi başlatmanın yöntemlerini tartışacağız. Başlatma, sınıfın veri üyelerine değer atamayı ifade eder. Aşağıda, Java'da nesneleri başlatmak için kullanılan yöntemlerden bazıları verilmiştir.
# 1) Bir Referans ile Bir Nesneyi Başlatın
Oluşturulan referans nesne, nesnedeki değerleri depolamak için kullanılır. Bu, basitçe bir atama operatörü kullanılarak yapılır.
Referans kullanılarak bir nesnenin başlatılması aşağıdaki programda gösterilmiştir.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members using reference student_object.student_id = 101; student_object.student_name = 'Elena'; student_object.student_marks = 89.93; //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Çıktı
Yukarıdaki program, üç üyeli değişkenlere sahip bir Öğrenci sınıfı ilan eder. Daha sonra ana yöntemde, new anahtar sözcüğünü kullanarak Student sınıfının bir nesnesini oluşturuyoruz. Daha sonra programda gösterildiği gibi nesnenin üye alanlarının her birine veri atarız.
# 2) Yöntemle Nesnenin İlklendirilmesi
Bu örnekte, Student sınıfının iki nesnesini oluşturuyoruz ve insertRecord yöntemini çağırarak bu nesnelere değeri başlatıyoruz. İnsertRecord yöntemi, Student sınıfının bir üye yöntemidir.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //method to initialize class data members void initialize_object(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members through method student_object.initialize_object(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Çıktı
# 3) Oluşturucu aracılığıyla Nesnenin İlklendirilmesi
Bir yapıcı kullanarak bir nesneyi de başlatabiliriz.
Yapıcı kullanımını gösteren program aşağıda verilmiştir.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //constructor for initialization Student(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args()){ //create a Student object using new operator and initialize it with constructor Student student_object = new Student(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Çıktı
Bu programda, Öğrenci sınıfı, parametreleri alan ve bunları üye değişkenlere atayan parametreli bir kurucuya sahiptir.
Java'da Sınıf Vs Nesnesi
Sınıf | Nesne |
---|---|
Bir sınıf üyesi alanı herhangi bir değere sahip değildir. | Her nesnenin üye alanlarının bir kopyası ve bunlarla ilişkili değerleri vardır. |
Sınıf, nesne oluşturma için bir şablon veya plandır. | Nesne, bir sınıfın örneğidir. |
Sınıf, yaratıldığında herhangi bir bellek ayırmaz. | Nesne, oluşturulduğunda bellek tahsis edilir. |
Sınıf, mantıksal bir varlıktır. | Nesne fiziksel bir varlıktır. |
Sınıf, bir sınıf anahtar sözcüğü kullanılarak bildirilir. | Nesne, yeni forName () .newInstance (), clone () yöntemleri kullanılarak oluşturulur. |
Sınıf, aynı nesnelerden oluşan bir gruptur. Örneğin. Sınıf Hayvanları (). | Nesne, belirli bir varlıktır. Örneğin. Hayvanlar köpek = yeni Hayvanlar (); |
Sınıf yalnızca bir kez ilan edilebilir. | Bir sınıfın herhangi bir sayıda örneği veya nesnesi olabilir. |
Sıkça Sorulan Sorular
S # 1) Sınıf ve Nesne arasındaki fark nedir?
Cevap: Sınıf, nesnelerin oluşturulması için kullanılan bir şablondur. Bir nesne, bir sınıfın örneğidir. Bir sınıf mantıksal bir varlık iken, bir nesne fiziksel bir varlıktır. Her nesnenin, tüm üye değişkenlerin belirli değerlere sahip olduğu bir durumu vardır. Sınıfın bir durumu yoktur.
S # 2) Java sınıfı ne içerir?
Cevap: Nesne oluşturmak için şablon veya plan görevi gören bir Java sınıfı, özellikleri veya alanları ve davranışları veya yöntemleri tanımlar.
S # 3) Neden Java'da Sınıfları kullanıyoruz?
Cevap: Sınıfları ve nesneleri kullanarak Java'daki gerçek dünya uygulamalarını modelleyebilir ve böylece bunları verimli bir şekilde çözebiliriz. Durum ve davranışa sahip nesneler, gerçek dünyadaki varlıkları temsil eder ve sınıflar, bunların planlarını oluşturur. Dolayısıyla, sınıfları yapı taşları olarak kullanarak herhangi bir karmaşık uygulamayı modelleyebiliriz.
S # 4) Sınıfı ve nesneyi gerçek hayattan bir örnekle açıklayın.
Cevap: Arabayı bir nesne olarak alırsak o zaman bir arabanın marka, renk, motor, kilometre vb. Özellikleri olabilir. Ayrıca start (), stop (), applybrakes () gibi bazı yöntemlere sahip olabilir. Böylece bir arabayı bir yazılım nesnesine modelleyebiliriz. Artık arabanın Maruti, fiat gibi çeşitli markaları olabilir.
Dolayısıyla, tüm bu araba modellerini temsil etmek için, tanımlanmış tüm ortak öznitelikleri ve yöntemleri içeren bir sınıf şablonuna sahip olabiliriz, böylece bu sınıfı başlatabilir ve istediğimiz araba nesnesini elde edebiliriz.
Böylece gerçek hayattaki bir nesne arabası, Java'da kolayca bir nesneye dönüştürülebilir.
Sonuç
Bu eğitimde, Java'daki sınıfların ve nesnelerin ayrıntılarını öğrendik. Sınıf ve nesnenin tanımını ele aldık. Eğitim, sınıfın, sınıfın bileşenlerinin yanı sıra bir programda sınıfın nasıl kullanılacağına dair örnekler hakkında ayrıntılı bir tartışma içerir.
Ayrıca Java'daki nesnelerin ayrıntılarını, bunların bildirimi, oluşturulması, başlatılması vb. Dahil olmak üzere uygun programlama örnekleri ile öğrendik.
Sınıf ve nesneler arasındaki temel farkları araştırdık. Bir sonraki dersimizde, sınıf türlerini ve sınıftaki kurucuları tartışacağız ve ardından diğer konulara geçeceğiz.
=> Basit Java Eğitim Serisine Buradan Dikkat Edin.
Önerilen Kaynaklar
- Java Temel Bilgileri: Java Sözdizimi, Java Sınıfı ve Temel Java Kavramları
- Java Tamsayı ve Java BigInteger Sınıfı Örneklerle
- Java Vektör Nedir | Örneklerle Java Vektör Sınıfı Eğitimi
- OOP Java: Java'da Nesne Tabanlı Programlamaya Giriş
- Java Dizi Sınıfı Eğitimi - Örneklerle java.util.Arrays Sınıfı
- Örneklerle Java Tarayıcı Sınıfı Eğitimi
- Java'da Nesne Dizisi: Nasıl Oluşturulur, Başlatılır ve Kullanılır
- Java'da Sınıf Türleri: Soyut, Somut, Son, Statik