Nesneye Yönelik Programlama

Slides:



Advertisements
Benzer bir sunumlar
Nesneye Yönelik Programlama
Advertisements

OPERATÖRLER.
MIT504 İnternet ve Web Programlama: Javascript programlama devam Yrd. Doç. Dr. Yuriy Mishchenko.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Bilgisayar Programlama Güz 2011
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Kontrol İfadeleri : 2.Kısım
Nesneye Yönelik Programlama
Nesneye Dayalı Programlama
Nesneye Dayalı Programlama
Nesneye Yönelik Programlama
Miras Alma EM-406 Java.
Nesneye Dayalı Programlama
VERİ TİPLERİ VE DEĞİŞKENLER
SANAL FONKSİYONLAR VE ÇOK BİÇİMLİLİK
NESNEYE DAYALI MODELLEME VE TASARIM
Nesneye Yönelik Programlama
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
MIT505 İnternet ve Web Programlama: Dinamik web sayfaları, javascript
Nesneye Yönelik Programlama
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
NESNEYE YÖNELİK PROGRAMLAMA
Nesneye Dayalı Programlama
OPERATÖRLER.
Erişim Denetimi, Fonksiyon
NESNE TABANLI PROGRAMLAMA -METOTLAR-
Nesneye Dayalı Programlama
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : KAPSÜLLEME.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 5: Fonksiyonlar
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Nesneye Yönelik Programlama
NESNEYE DAYALI PROGRAMLAMA
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
Nesneye Dayalı Programlama
NESNE YÖNELİMLİ PROGRAMLAMA
Döngü Yapıları.
Nesne Yönelimli Programlama Dersi
SABİT NESNE VE ELEMAN FONKSİYONLAR VE ELEMAN NESNELER
Önceki Dersi Hatırlama !!
Nesneye Yönelik Programlama (12. Sunu). İsim Uzayları (Namespaces) Sınıfınızda Deniz adında iki öğrenci olduğunu kabul ediniz. Böyle bir durumda bu öğrencileri.
JAVA’DA DÖNGÜLER.
Kalıtım , Sınıf Asli Ergün.
 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (7. Hafta)
Bölüm 4 – C’de Program Kontrolü
Nesneye Dayalı Programlama
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
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.
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
C# Veri Tipleri ve Değişkenler
SANAL FONKSİYONLAR VE ÇOKBİÇİMLİLİK Yılmaz Kılıçaslan.
C++ Ders Notları 2.Ders (Dilin Yapısı)
İKMAP İnternet 1 Ders Notu
Görsel C# ile Windows Programlama
Bilgisayar Programlama Güz 2011
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
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#
C dili kullanıcıya kendi ihtiyacı olan bir fonksiyonu yazma imkanı vermiştir. Bir sayının faktöriyelini almaya ihtiyaç duyduğumuzu ve aynı zamanda asal.
C Programlama Dili Bilgisayar Mühendisliği.
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
Veri Türleri, Atamalar ve Tip Dönüşümleri …
Nesneye Dayalı Programlama Temel Kavramlar Hüseyin ESKİ.
Bütün dünyayı nesneler (object) ve nesneler arası ilişki olarak gören model kullanılarak yapılan programlama. Bu programlama tekniğine göre her nesne.
YAPISAL PROGRAMLAMA Hafta-6
Bölüm 10: Kayıtlar – Records (structs)
C++ Programming:. Program Design Including
NİŞANTAŞI ÜNİVERSİTESİ
Nesneye Dayalı Programlama 1
Sunum transkripti:

Nesneye Yönelik Programlama BM-104 Nesneye Yönelik Programlama Bahar 2013 (6. Sunu) (Yrd. Doç. Dr. Deniz Dal)

Kompozisyon (HAS-A Relationship) Bir x sınıfının bir üye değişkeni bir başka y sınıfının bir nesnesi olabilir. (y HAS-A x) Bu türden bir ilişkiye kompozisyon (composition) denir. Kompozisyon sayesinde küçük basit parçalardan daha sofistike bileşenler elde edebiliriz. Composition is used for objects that have a has-a relationship to each other. A car has-a metal frame, has-an engine, and has-a transmission. A personal computer has-a CPU, a motherboard, and other components. You have-a head, a body, some limbs.

//Uzaydaki Bir Noktayı (Noktanın x ve y Koordinatlarını) //Temsil Eden Kullanıcı Tanımlı Veri Tipi #ifndef NOKTA_H #define NOKTA_H class Nokta { public: Nokta(int=0,int=0); //0, 1 veya 2 Parametreli Yapıcı int GetX(); //x Koordinatını Getir int GetY(); //y Koordinatını Getir void SetX(int); //x Koordinatını Değiştir void SetY(int); //y Koordinatını Değiştir void SetXY(int,int);//x ve y Koordinatlarını Değiştir private: int x;//x Koordinatı int y;//y Koordinatı }; #endif

#include "Nokta.h" Nokta::Nokta(int pX,int pY) { x=pX; y=pY; } int Nokta::GetX() return x; int Nokta::GetY() return y; void Nokta::SetX(int pX) void Nokta::SetY(int pY) void Nokta::SetXY(int pX,int pY) SetX(pX);//x=pX SetY(pY);//y=pY

#include "Nokta.h" #include <iostream> using namespace std; int main() { Nokta n1; //Varsayılan Yapıcı,x=0,y=0 Nokta n2(3); //x=3,y=0 Nokta n3(5,8);//x=5,y=8 Nokta n4; Nokta n5; n4.SetX(25); n4.SetY(34); n5.SetXY(12,16); cout<<'('<<n2.GetX()<<','<<n2.GetY()<<')'<<endl; return 0; }

Atama operatörü int atamalarında farklı bir anlam, nesne atamalarında daha farklı bir anlam taşır. İleriki derslerimizde atama operatörünü aşırı yükleyeceğiz. (Operator Overloading) (Polymorfism nedir?)

Başka Bir Kompozisyon Örneği

Kalıtım/Miras (is-a Relationship) Bir y sınıfı bir x sınıfının tüm üye değişkenleri ve üye fonksiyonlarına ek/ilave olarak başka niteliklere ve davranışlara sahip olabilir. (y IS-A x) Bu türden bir ilişkiye kalıtım/miras (inheritance) denir. Bu durumda x temel sınıf (base class) ve y türetilmiş sınıf (derived class) olarak adlandırılır. (Her y bir x’tir ama her x bir y değildir.) Kalıtım sayesinde daha önceden yazılmış bir kodun yeniden kullanılması sağlanır ve kopyala yapıştıra gerek kalmaz. When creating a class, instead of writing completely new data members and member functions, the programmer can designate that the new class should inherit the members of an existing class. This existing class is called the base class, and the new class is referred to as the derived class. The idea of inheritance implements the is a relationship. For example, mammal IS-A animal, dog IS-A mammal hence dog IS-A animal as well and so on.

#ifndef SEKIL_H #define SEKIL_H class Sekil { public: Sekil();//Varsayılan Yapıcı int GetEn(); int GetBoy(); void SetEn(int); void SetBoy(int); void SetEnBoy(int,int); protected://!!Dikkat!! int en; int boy; }; #endif

#include "Sekil.h" Sekil::Sekil() { en=0; boy=0; } int Sekil::GetEn() return en; int Sekil::GetBoy() return boy; void Sekil::SetEn(int pE) en=pE; void Sekil::SetBoy(int pB) boy=pB; void Sekil::SetEnBoy(int pE,int pB) SetEn(pE);//en=pE SetBoy(pB);//boy=pB

Kalıtım sayesinde kopyala yapıştır ile yeni bir sınıf oluşturmak yerine var olan bir sınıfa yeni üye değişkenler ve/veya üye fonksiyonlar ekleyerek daha kompakt programlar oluştururuz. Bu sayede daha genel bir tanımı daha özel bir hale dönüştürürüz.

#ifndef DIKDORTGEN_H #define DIKDORTGEN_H #include "Sekil.h" class Dikdortgen:public Sekil//Sekil Sınıfından Miras { public: int GetAlan(); }; #endif #include "Dikdortgen.h" int Dikdortgen::GetAlan() return en*boy; }

Her Dikdortgen bir Sekil’dir.

#include "Dikdortgen.h" #include <iostream> using namespace std; int main() { Dikdortgen d; d.SetEn(4); d.SetBoy(6); cout<<"Dikdortgenin Alani: "<<d.GetAlan()<<endl; return 0; }

Kim Kime Ulaşabilir?

Dikdortgen Sınıfından DikdorgenlerPrizmasi Sınıfını Kalıtım Yoluyla Siz Oluşturunuz. (yukseklik Üye Değişkeni ile Hacim Hesaplayan Üye Fonksiyonu Yeni Sınıfınıza Eklemeyi Unutmayınız.)