Azərbaycanca AzərbaycancaDeutsch Deutsch日本語 日本語Lietuvos Lietuvosසිංහල සිංහලTürkçe TürkçeУкраїнська УкраїнськаUnited State United State
Destek
www.wikipedia.tr-tr.nina.az
  • Vikipedi

çokbiçimlilik ingilizce polymorphism bir türün bir başka tür gibi davranabilme ve bu tür gibi kullanılabilme özelliğidir

Çok biçimlilik

Çok biçimlilik
www.wikipedia.tr-tr.nina.azhttps://www.wikipedia.tr-tr.nina.az
TikTok Jeton Satışı

Çokbiçimlilik (İngilizce: polymorphism), bir türün bir başka tür gibi davranabilme ve bu tür gibi kullanılabilme özelliğidir. Nesne yönelimli programlama dillerinde çokbiçimlilik özelliği ise aynı temel sınıftan türetilmiş olan sınıflarda paylaşılan, başka bir ifadeyle aşırı yüklenen aynı metodun bu sınıflarda farklı şekillerde uyarlanabilmesidir. Nesnenin davranışı çalışma anında belirlendiği için programcılar, çokbiçimlilik özelliği sayesinde nesnelerin türünü önceden bilmek zorunda kalmaz.

Örnekler

C++

#include <string> #include <type_traits> #include <iostream> struct Animal {  virtual ~Animal() = default;  virtual std::string talk() const = 0; }; struct Cat : public Animal {  std::string talk() const override { return "Miyav!"; } }; struct Dog : public Animal {  std::string talk() const override { return "Hav! Hav!"; } }; static_assert(std::is_polymorphic_v<Animal>); static_assert(std::is_base_of_v<Animal, Cat>); static_assert(std::is_base_of_v<Animal, Dog>); std::string talk(const Animal& a) {  return a.talk(); } int main() {  Cat minnos;  Dog karabas;  std::cout << talk(minnos) << '\n'; // Miyav!  std::cout << talk(karabas) << '\n'; // Hav! Hav! } 
// C++17 ve sonrasi std::variant tipi kullanarak // https://en.cppreference.com/w/cpp/utility/variant #include <string> #include <variant> #include <iostream> struct Cat {  std::string talk() const { return "Miyav!"; } }; struct Dog {  std::string talk() const { return "Hav! Hav!"; } }; using Animal = std::variant<Cat, Dog>; std::string talk(const Animal& a) {  struct v {  std::string operator()(const Cat& c) const { return c.talk(); }  std::string operator()(const Dog& d) const { return d.talk(); }  };  return std::visit(v{}, a); } int main() {  Cat minnos;  Dog karabas;  std::cout << talk(minnos) << '\n'; // Miyav!  std::cout << talk(karabas) << '\n'; // Hav! Hav! } 
// C++17 ve sonrasi std::any tipi kullanarak: // https://en.cppreference.com/w/cpp/utility/any #include <string> #include <any> #include <iostream> struct Cat {  std::string talk() const { return "Miyav!"; } }; struct Dog {  std::string talk() const { return "Hav! Hav!"; } }; std::string talk(const std::any &animal) {  if (const Cat *c = std::any_cast<Cat>(&animal))  return c->talk();  else if (const Dog *d = std::any_cast<Dog>(&animal))  return d->talk();  return std::string{}; } int main() {  Cat minnos;  Dog karabas;  std::cout << talk(minnos) << '\n'; // Miyav!  std::cout << talk(karabas) << '\n'; // Hav! Hav! } 

Java

interface IAnimal {  String talk(); } class Cat implements IAnimal {  public String talk() { return "Miyav!"; } } class Dog implements IAnimal {  public String talk() { return "Hav! Hav!"; } } public class Test {  public static void main(String[] args) {  IAnimal cat = new Cat();  IAnimal dog = new Dog();  System.out.println(cat.talk()); // Miyav!  System.out.println(dog.talk()); // Hav! Hav!  } } 

Kaynakça

wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar

Cokbicimlilik Ingilizce polymorphism bir turun bir baska tur gibi davranabilme ve bu tur gibi kullanilabilme ozelligidir Nesne yonelimli programlama dillerinde cokbicimlilik ozelligi ise ayni temel siniftan turetilmis olan siniflarda paylasilan baska bir ifadeyle asiri yuklenen ayni metodun bu siniflarda farkli sekillerde uyarlanabilmesidir Nesnenin davranisi calisma aninda belirlendigi icin programcilar cokbicimlilik ozelligi sayesinde nesnelerin turunu onceden bilmek zorunda kalmaz OrneklerC include lt string gt include lt type traits gt include lt iostream gt struct Animal virtual Animal default virtual std string talk const 0 struct Cat public Animal std string talk const override return Miyav struct Dog public Animal std string talk const override return Hav Hav static assert std is polymorphic v lt Animal gt static assert std is base of v lt Animal Cat gt static assert std is base of v lt Animal Dog gt std string talk const Animal amp a return a talk int main Cat minnos Dog karabas std cout lt lt talk minnos lt lt n Miyav std cout lt lt talk karabas lt lt n Hav Hav C 17 ve sonrasi std variant tipi kullanarak https en cppreference com w cpp utility variant include lt string gt include lt variant gt include lt iostream gt struct Cat std string talk const return Miyav struct Dog std string talk const return Hav Hav using Animal std variant lt Cat Dog gt std string talk const Animal amp a struct v std string operator const Cat amp c const return c talk std string operator const Dog amp d const return d talk return std visit v a int main Cat minnos Dog karabas std cout lt lt talk minnos lt lt n Miyav std cout lt lt talk karabas lt lt n Hav Hav C 17 ve sonrasi std any tipi kullanarak https en cppreference com w cpp utility any include lt string gt include lt any gt include lt iostream gt struct Cat std string talk const return Miyav struct Dog std string talk const return Hav Hav std string talk const std any amp animal if const Cat c std any cast lt Cat gt amp animal return c gt talk else if const Dog d std any cast lt Dog gt amp animal return d gt talk return std string int main Cat minnos Dog karabas std cout lt lt talk minnos lt lt n Miyav std cout lt lt talk karabas lt lt n Hav Hav Java interface IAnimal String talk class Cat implements IAnimal public String talk return Miyav class Dog implements IAnimal public String talk return Hav Hav public class Test public static void main String args IAnimal cat new Cat IAnimal dog new Dog System out println cat talk Miyav System out println dog talk Hav Hav Kaynakca

Yayın tarihi: Temmuz 08, 2024, 09:18 am
En çok okunan
  • Ocak 06, 2026

    Saint-Benin

  • Ocak 03, 2026

    Saint-Aybert

  • Ocak 18, 2026

    Saint-Augustin, Pas-de-Calais

  • Ocak 18, 2026

    Saint-Aubin, Pas-de-Calais

  • Ocak 06, 2026

    Saint-Aubin, Nord

Günlük
  • Galatasaray (futbol takımı)

  • İstanbulspor

  • Fenerbahçe (futbol takımı)

  • Göztepe Hilal SK

  • Almanya

  • Nisan Akman

  • Sirenayka Muharebesi

  • Sinan Selen

  • Babil

  • Bali dansı

NiNa.Az - Stüdyo

  • Vikipedi

Bültene üye ol

Mail listemize abone olarak bizden her zaman en son haberleri alacaksınız.
Temasta ol
Bize Ulaşın
DMCA Sitemap Feeds
© 2019 nina.az - Her hakkı saklıdır.
Telif hakkı: Dadaş Mammedov
Üst