﻿
{"id":10451,"date":"2019-02-24T16:39:59","date_gmt":"2019-02-24T16:39:59","guid":{"rendered":"https:\/\/www.gencayyildiz.com\/blog\/?p=10451"},"modified":"2019-02-24T16:39:59","modified_gmt":"2019-02-24T16:39:59","slug":"typescript-generic-tiplerde-nesne-olusturma","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/typescript-generic-tiplerde-nesne-olusturma\/","title":{"rendered":"TypeScript &#8211; Generic Tiplerde Nesne Olu\u015fturma"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bu i\u00e7eri\u011fimizde, TypeScript mimarisinde generic olarak tan\u0131mlanm\u0131\u015f herhangi bir s\u0131n\u0131f yahut metodda belirtilen tipte bir nesnenin nas\u0131l olu\u015fturulaca\u011f\u0131n\u0131 inceliyor olaca\u011f\u0131z.<\/p>\n<p>Generic yap\u0131lanmalarda verilen tip her ne olursa olsun ilgili tipten bir nesne \u00fcretebilmek i\u00e7in a\u015fa\u011f\u0131daki \u00f6rnek s\u0131n\u0131f\u0131 inceleyiniz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nexport class Factory {\r\n  CreateInstance&lt;T&gt;(type: (new () =&gt; T)): T {\r\n    return new type();\r\n  }\r\n}\r\n<\/pre>\n<p>Burada elimizdeki herhangi bir tipi generic olarak yap\u0131land\u0131r\u0131lm\u0131\u015f &#8220;CreateInstance&#8221; metoduna vererek ilgili tipte nesne \u00fcretimi ger\u00e7ekle\u015ftirip geriye d\u00f6nd\u00fcrmekteyiz. Dolay\u0131s\u0131yla bu s\u0131n\u0131f\u0131 a\u015fa\u011f\u0131daki gibi kullan\u0131p nesneyi elde edebiliriz;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    let factory: Factory = new Factory();\r\n    let obj: Obj = factory.CreateInstance(Obj);\r\n    obj.x = &quot;Hello&quot;;\r\n    obj.y = 123;\r\n    alert(`${obj.x} ${obj.y}`);\r\n<\/pre>\n<p>\u0130lgilenenlerin faydalanmas\u0131 dile\u011fiyle&#8230;<br \/>\nSonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bu i\u00e7eri\u011fimizde, TypeScript mimarisinde generic olarak tan\u0131mlanm\u0131\u015f herhangi bir s\u0131n\u0131f yahut metodda belirtilen tipte bir nesnenin nas\u0131l olu\u015fturulaca\u011f\u0131n\u0131 inceliyor olaca\u011f\u0131z. Generic yap\u0131lanmalarda verilen tip her ne olursa olsun ilgili tipten bir nesne \u00fcretebilmek&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":10448,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2192],"tags":[145,2193,2771,2772],"class_list":["post-10451","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-typescript","tag-generic","tag-typescript","tag-typescript-generic-type","tag-typescript-generic-type-new-instance"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/10451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=10451"}],"version-history":[{"count":10,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/10451\/revisions"}],"predecessor-version":[{"id":10461,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/10451\/revisions\/10461"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/10448"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=10451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=10451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=10451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}