Sınıflar, Nesneler ve Metodlar

Slides:



Advertisements
Benzer bir sunumlar
Programlama-II (Java ile Bilgisayar Programlama)
Advertisements

C# - Metotlar.
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
NESNEYE YÖNELİK PROGRAMLAMA KALITIM
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
P p 8. Ünitede yinelemeli programlamanın teknikleri anlatılmaktadır. p p Gördüğünüz gibi, yinelemeli programlama bir problemin içinde problemin küçük parçalarını.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
Java Programlama Koleksiyon(Collection) Sınıfları
P 2. Ünitede Nesneye Dayalı Programlama anlatılıyor. p Nesneye dayalı programlama yeni veri tiplerinin ve bu tipleri işletmek için gereken işlemleri oluşturmayı.
Erişim Denetimi, Fonksiyon
Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar
METODLAR.
C# Metot Overloading (Aşırı yükleme)
KALITIM Yılmaz Kılıçaslan.
Sorular? Öneriler?. Referanslar Referanslar (Tekrar) Eğer aşağıdaki gibi yazarsak ne olur: int x; double y; char c; ???
I ASİMO I ASİMO PREPARED: CENGİZ MURAT TEKİNBÜĞRÜ English Course Presentation TURKEY Mechatronics Engineering at SAKARYA UNIVERSITY PREPARED: CENGİZ.
Nesneye Yönelik Programlama
Görsel C# Programlama Güz 2009 (6. Hafta).
Java Sınıf ve Nesne Kavramı UML Gösterimi
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
Metotlar.
Nesne Yönelimli Programlama Dersi
METOTLAR.
ÇOK BİÇİMLİLİK POLYMORPHISM
Önceki Dersi Hatırlama !!
Nesne Tabanlı Programlamaya Giriş
Kalıtım.
Kalıtım , Sınıf Asli Ergün.
Demet AYDIN METODLAR Demet AYDIN
 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (7. Hafta)
JAVA’DA DİZİLER Dr.Galip AYDIN.
Sınıflar ve Nesneler Sınıf: bir nesnenin şablonunu, kalıbını, şeklini, davranışını, kalıtımını değişkenleri, metodları ve ebeveynleri vasıtasıyla tanımlar.
Hareket halindeki insanlara ulaşın.Mobil Arama Ağı Reklamları Reach customers with Mobile Search Network.
.NET Framework 2.0 Öğr. Gör. Dr. Mustafa Cem Kasapbaşı Hafta 1 Ref Beginning ASP.NET 2.0 in C# 2005 From Novice to Professional İnternet Programlama Dilleri.
Bil 102 Bölüm 6 Diziler.
Python Aslı Ergün.
Bölüm 7 - Diziler İçerik 7.1 Giriş 7.2 Diziler 7.3 Dizileri Tanımlama 7.4 Dizileri Kullanan Örnekler 7.5 Referanslar ve Referans Parametreler.
Bölüm 8 – Nesne-Tabanlı Programlama
NOUN CLAUSES (İSİM CÜMLECİKLERİ).
Sınıflar, Nesneler ve Metodlar
Görsel C# ile Windows Programlama
ODTU-SEM Copyright (c) 2011 Kalıtım(Inheritance) Subclass lar tüm method ve attributes larının superclass ından alırlar. Bu işlem için extends keyword.
COSTUMES KILIKLAR (KOSTÜMLER)
Bölüm 8 Proje Takvimi Hazırlama
ISE Senior Project Fall 2015.
Key Terms from the Chapters. Chapter -1 Statistics, Data, and Statistical Thinking Fundemantal Elements of Statistics Statistics: EN: Statistics is the.
BM-305 Mikrodenetleyiciler Güz 2015 (6. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Yapısal Programlama Yüksek Düzeyli Dillerin Gelişim Süreci – , Fortran (by IBM), for creating scientific and engineering applications, first commercial.
Designing for Inheritance
Database for APED Büşra Bilgili | Emirhan Aydoğan | Meryem Şentürk | M. Arda Aydın COMPE 341.
Sakarya Üniversitesi Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Prof. Dr. Ümit Kocabıçak Prof. Dr. Cemil Öz Doç. Dr. Ahmet Turan.
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Improvement to Rankine cycle
Practice your writing skills
INTRODUCTION TO JAVASCRIPT
INTRODUCTION TO JAVASCRIPT
BİLİMSEL ÇALIŞMA BASAMAKLARI SCIENTIFIC WORKING STEPS MHD BASHAR ALREFAEI Y
5- class & object Nesne Yönelimli Programlama - i
INTRODUCTION TO JAVASCRIPT
Döngüler ve Shift Register
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
Bölüm 6: Kullanıcı Tanımlı Fonksiyonlar I
Kurucular(Yapıcılar), Yıkıcılar
Recursion (Özyineleme)
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
(Dr. Öğr. Üyesi Deniz Dal)
People with an entrepreneurial mindset are always brave.
Sunum transkripti:

Sınıflar, Nesneler ve Metodlar

Sınıflar ve Nesneler Sınıflar (Class) nesneleri tanımlamak ve bu nesneler üzerinde çalışacak metodları sağlamak için kullanılırlar. Aynı zamanda bu nesnelerin deklere edildiği ve problemleri çözmek için işlendiği programlardır.

Class Class—Bir nesne türünün tanımlandığı program Belirli nesneleri inşa etmek için yazılan plan gibi düşünülebilir Örnek: Otomobil sınıfı Otomobil tanımına uyan herhangi bir nesne bu sınıfın bir örneğidir. Java Class o sınıfın ne tür verilere sahip olduğunu anlatır Her nesne aynı veri elemanlarına sahiptir fakat bunların değerleri farklıdır Java Class her nesnenin hangi metodlara sahip olacağını anlatır Aynı sınıftaki nesneler aynı metodlara sahiptirler

Sınıflar Birinci Nesne: Nesne adı: alininArabası Yakıt miktarı: 10 litre hızı: 55 km/saat Plaka no: “23 ZZ 4321” Otomobil sınıfının örnekleri olan nesneler Sınıf Tanımı İkinci Nesne: Nesne adı: ayseninArabası Yakıt miktarı: 15 litre hızı: 85 km/saat Plaka no: “06 AB 1234” Sınıf Adı: Otomobil Veriler: Yakıt miktarı ________ hız ________ Plaka no ________ Metodlar (yapılacak işler): hızıArttır: Nasıl: Gaz pedalına bas. dur: Nasıl: Fren pedalına bas. Üçüncü Nesne: Nesne adı: fatmanınArabası Yakıt miktarı: 0.5 litre hızı: 15 km/saat Plaka no: “23 CD 456”

Nesneler Nesneler değişkenlerdir; bunlar bir sınıfın özel bir isimle adlandırılan örnekleridir Nesnelerin tipleri ait oldukları sınıftır Nesnelerin hem veri hem de metodları vardır Veri elemanları ve metodları o nesnenin üyeleridir Veri elemanları aynı zamanda alanlar veya değişkenler olarak da adlandırılr Bir metodu uyarmak o metodu çağırmak veya çalıştırmak anlamına gelir Bir nesnenin metodunu çağırmak için genel syntax: nesne_değişkeni_Ismi.metod() nesne_değişkeni_Ismi çağıran objedir

Örnek: String Class String bir sınıftır Bir dizi karakter depolar length metodu içerdiği karakter sayısını verir Örnek: kullanıcı tarafından girilen karakterleri oku ve kaç karakter girildiğini yaz String girilen; girilen = klavye.nextLine(); System.out.println(girilen.length());

Class Dosyaları Herbir java class tanımlaması ayrı bir dosyada olmalıdır class ve dosya için aynı isimler kullanılır, dosya ismine ".java" eklenir Şimdilik programlarınızda gerekli bütün class dosyalarını aynı klasöre koyun.

Nesne Değişkenleri public bu değişkenlerin nasıl kullanılacağı konusunda herhangi bir kısıtlama olmadığını gösterir. public değişkenler nokta operatoru ile ulaşılabilir: Ogrenci.isim = “Musti”; Bu değişkenler public yerine private olmalıdır. public String isim; public int yas; Public String no;

Nesne oluşturmak Syntax: class_Adı nesne_Adı = new class_Adı(); Örneğin Ogrenci sınıfının bir nesnesini oluşturmak için Ogrenci veli = new Ogrenci();

Metodların kullanımı Metodlar bir nesnenin yapabileceği işlemlerdir Bir metodu kullanmak için onu uyarır veya çağırırız metod çağrısı örneği: ogrenci1.getIsım() İki temel metod türü: Tek bir değer döndüren metodlar void metodlar, işlem yapıp değer döndürmezler Çağıran nesne — hangi nesnenin işlemi yapacağını belirtir metod ismi—nesnenin hangi işlemi yapacağını belirtir parametre listesi —bu örnekte herhangi bir parametre yok

Metodların return tipleri Bütün metodların mutlaka return tipleri mutlaka belirtilmelidir. Return tipleri: primitif data tipi, char, int, double class, String, Ogrenci, vb. void eğer herhangi birşey döndürmüyorsa int next = klavye.nextInt();

Return Statement public int sayac = 0; public int getSayac() { return sayac++; }

Yerel-Global değişkenler ve Bloklar Bir blok, karşılıklı kıvırcık parantezler arasındaki ifadelerin tamamına denir. Blok içerisinde tanımlanan bir değişken sadece o blok içerisinde tanınır. Bloğun çalışması bittiğinde o değişken de yokolur. Yerel değişkenler blok dışından çağrılamazlar. Bütün blokların dışında fakat sınıfın içinde tanımlanan değişkenler global değişkenler olarak adlandırılır.

public ve private public Başka class veya programlar public değişkenlere direkt olarak ulaşıp değiştirebilirler Başka herhangi bir class veya program bir public metodu uyarabilir private Sadece aynı class içindeki bir metod private değişkenlere ulaşabilir Sadece aynı class içindeki bir metod bir private metodu uyarabilir Örnek değişkenler uygunsuz erişimi engellemek için private olarak tanımlanmalıdır.

Bilgi gizleme ve Sarma-Kapsülleme (Encapsulation) Nesne Tabanlı Programlamanın köşetaşları Her ikisi de soyutlamanın birer türüdür Bilgi Gizleme Bir nesne içindeki veriyi gizleme Direkt ulaşıma engel ol Encapsulation Nesne ve Sınıflar kullan Nesneler hem veri elemanarı hem de bu elemanlar üzerinde çalışacak metodlar içerir. Encapsulation, inheritance and polymorphism are the three fundamental principles of the OOP Sarma, Kalıtım ve çok işlevlilik

Encapsulation is the ability of an object to be a container (or capsule) for related properties (ie. data variables) and methods (ie. functions). Data hiding is the ability of objects to shield variables from external access. These private variables can only be seen or modified by use of object accessor and mutator methods. This permits validity checking at run time. Access to other object variables can be allowed but with tight control on how it is done. Methods can also be completely hidden from external use. Those that are made visible externally can only be called by using the object's front door (ie. there is no 'goto' branching concept).

Inheritance is the capability of a class to use the properties and methods of another class while adding its own functionality. An example of where this could be useful is with an employee records system. You could create a generic employee class with states and actions that are common to all employees. Then more specific classes could be defined for salaried, commissioned and hourly employees. The generic class is known as the parent (or superclass or base class) and the specific classes as children (or subclasses or derived classes). The concept of inheritance greatly enhances the ability to reuse code as well as making design a much simpler and cleaner process. Polymorphism is the capability of an action or method to do different things based on the object that it is acting upon. This is the third basic principle of object oriented programming. Overloading and overriding are two types of polymorphism . Now we will look at the third type: dynamic method binding. Overloaded methods are methods with the same name signature but either a different number of parameters or different types in the parameter list. For example 'spinning' a number may mean increase it, 'spinning' an image may mean rotate it by 90 degrees. By defining a method for handling each type of parameter you achieve the effect that you want. Overridden methods are methods that are redefined within an inherited or subclass. They have the same signature and the subclass definition is used.

Summary Part 1 Classes have instance variables to store data and methods to perform actions Declare instance variables to be private so they can be accessed only within the same class There are two kinds of methods: those that return a value and void-methods Methods can have parameters of both primitive type and class type

Summary Part 2 Parameters of a primitive type work differently than those of a class type primitive type parameters are call-by-value, so the calling object's variable is protected within the called method (the called method cannot change it) class type parameters pass the address of the calling object so it is unprotected (the called method can change it) For similar reasons, the operators = and == do not behave the same for class types as they do for primitive types (they operate on the address of object and not its values) Therefor you should usually define an equals method for classes you define (to allow the values of objects to be compared)