{"id":228,"date":"2020-01-07T21:36:12","date_gmt":"2020-01-07T21:36:12","guid":{"rendered":"http:\/\/144.76.171.171\/blog\/?p=228"},"modified":"2020-01-07T21:36:12","modified_gmt":"2020-01-07T21:36:12","slug":"operatorlere-asiri-yuklenme","status":"publish","type":"post","link":"https:\/\/berenkudaygorun.com\/blog\/blog\/2020\/01\/07\/operatorlere-asiri-yuklenme\/","title":{"rendered":"Operat\u00f6rlere A\u015f\u0131r\u0131 Y\u00fcklenme"},"content":{"rendered":"<p>Olu\u015fturmu\u015f oldu\u011fumuz iki int de\u011fi\u015fkeni + operat\u00f6r\u00fc ile i\u015fleme soktu\u011fumuzda C# derleyicisinin bunlar\u0131 toplad\u0131\u011f\u0131n\u0131 ya da iki string ifadeyi + operat\u00f6r\u00fc ile i\u015fleme soktu\u011fumuzda C# derleyicisinin bunlar\u0131 birle\u015ftirdi\u011fini biliyoruz. Dikkat ettiyseniz C# derleyicisi her class i\u00e7in asl\u0131nda operat\u00f6rleri farkl\u0131 bir \u015fekilde \u00e7al\u0131\u015ft\u0131rabilme imkan\u0131na sahiptir. Bu duruma i\u015fte Operat\u00f6rlere a\u015f\u0131r\u0131 y\u00fcklenme denir. Bu yaz\u0131m\u0131zda Operat\u00f6rlere A\u015f\u0131r\u0131 Y\u00fcklenme kavram\u0131 \u00fczerinde duraca\u011f\u0131z ve ger\u00e7ek d\u00fcnyada i\u015fimize yaramayacak ama konunun anla\u015f\u0131lmas\u0131 i\u00e7in yararl\u0131 olacak bir \u00f6rnek yapaca\u011f\u0131z. \u0130yi okumalar...<\/p>\n<p>\u00d6ncelikle bomba bir haberle ba\u015flayal\u0131m JAVA'da operat\u00f6rlere a\u015f\u0131r\u0131 y\u00fcklenme yoktur. Akl\u0131n\u0131za hemen o zaman C#'da bu gerekli midir sorusu gelmi\u015f olabilir. Nesne y\u00f6nelimli programlama konseptinde var olan bir kavramd\u0131r operat\u00f6rlere a\u015f\u0131r\u0131 y\u00fcklenme bundan dolay\u0131 her zaman gerekli olacak die bir \u015fey yok ancak sizin daha d\u00fczg\u00fcn projeler \u00e7\u0131karman\u0131z\u0131 ve daha az kod yazman\u0131z\u0131 sa\u011flayacakt\u0131r, k\u0131sa cevap ise gereklidir!<\/p>\n<p>C# ile projeler geli\u015ftirirken bir\u00e7ok operat\u00f6re a\u015f\u0131r\u0131 y\u00fckleme yapabiliriz. A\u015fa\u011f\u0131dakiler hari\u00e7:<\/p>\n<ul>\n<li>new<\/li>\n<li>as<\/li>\n<li>is<\/li>\n<li>sizeof<\/li>\n<li>typdef<\/li>\n<li>=<\/li>\n<li>?<\/li>\n<li>()<\/li>\n<li>[]<\/li>\n<li>||<\/li>\n<li>&amp;&amp;<\/li>\n<\/ul>\n<p>\u015eimdi a\u015fa\u011f\u0131daki koda bakal\u0131m ve konuyu h\u0131zl\u0131ca anlayal\u0131m...<\/p>\n<pre><code class=\"language-csharp\">using System;\n\nnamespace ConsoleApp2\n{\n    class Matematik\n    {\n        public int Sayi { get; set; }\n        public Matematik(int sayi)\n        {\n            Sayi = sayi;\n        }\n\n        public static int operator +(Matematik sayi1, Matematik sayi2)\n        {\n            int Sayi1 = sayi1.Sayi;\n            int Sayi2 = sayi2.Sayi;\n            int hesap = Sayi1 * Sayi1 + Sayi2 * Sayi2;\n            Matematik sayi = new Matematik(hesap);\n            return sayi.Sayi;\n        }\n    }\n\n    class Program\n    {\n        public static void Main()\n        {\n            var a = new Matematik(5);\n            var b = new Matematik(10);\n            Console.WriteLine(a+b);\n        }\n\n    }\n}\n<\/code><\/pre>\n<p>Cevap:<\/p>\n<pre><code>125<\/code><\/pre>\n<p>Yukar\u0131daki kod k\u0131sm\u0131nda dikkat etmemiz gereken k\u0131s\u0131mlar:<\/p>\n<ul>\n<li>Operat\u00f6r metotlar\u0131n\u0131n tipleri void olamaz.<\/li>\n<li>Operat\u00f6r metotlar\u0131 static olmak zorundad\u0131r.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Olu\u015fturmu\u015f oldu\u011fumuz iki int de\u011fi\u015fkeni + operat\u00f6r\u00fc ile i\u015fleme soktu\u011fumuzda C# derleyicisinin bunlar\u0131 toplad\u0131\u011f\u0131n\u0131 ya da iki string ifadeyi + operat\u00f6r\u00fc ile i\u015fleme soktu\u011fumuzda C#&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/berenkudaygorun.com\/blog\/blog\/2020\/01\/07\/operatorlere-asiri-yuklenme\/\">Devam\u0131n\u0131 oku<span class=\"screen-reader-text\">Operat\u00f6rlere A\u015f\u0131r\u0131 Y\u00fcklenme<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[159,179],"class_list":["post-228","post","type-post","status-publish","format-standard","hentry","category-c-sharp","tag-c","tag-operatorlere-asiri-yuklenme","entry"],"_links":{"self":[{"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/posts\/228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/comments?post=228"}],"version-history":[{"count":1,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/posts\/228\/revisions"}],"predecessor-version":[{"id":229,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/posts\/228\/revisions\/229"}],"wp:attachment":[{"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/media?parent=228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/categories?post=228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/tags?post=228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}