C# || Kapsülleme (Encapsulation) – get ve set Anahtar Sözcükleri

Kapsülleme (Encapsulation)

Sınıf içerisinde erişilmesi istenmeyen özellikler olabilir. Bunlar için kapsülleme uygulayabiliriz. Bu özellikler private anahtar değişkeni ile tanımlanır. Erişimi sınırlandırılmış olan bu özelliklere erişmek için metotları kullanırız.

namespace Pastane
{
   class Personel
       {
            public string ad, soyad, kat, bolum;
            string kurum = Asude Pastanesi;   //private kabul edilir. (Erişim belirteci)  istenilirse private yazılabilir
            public void personelBilgi(){
                Console.WriteLine(kurum);
                Console.WriteLine("{0} {1} {2} {3}", kat, bolum, ad, soyad);
            }
       }

   class AnaProgram
       {
            string void Main(string[] args)
            {
                Personel kisi = new Personel();  
                kisi.ad = "Lale";
                kisi.soyad = "Aygün";
                kisi.kat = "1. Kat";
                kisi.bolum = "Kasa";
                kisi.personelBilgi();
                Console.ReadKey();
            }
       }
}

ÇIKTI

Asude Pastanesi
1. Kat Kasa Leyla Aygün

get ve set Anahtar Sözcükleri

private anahtar sözcüğü ile ait oldukları sınıf dışından erişim kapatılan özelliklere get ve set anahtar sözcükleri ile erişim sağlanabilir. Bu anahtar sözcükler özelliklerden değer okumak veya özelliklere değer atamak için kullanılırlar. get ya da set sözcüklerinin ikisi de kullanılmak zorunda değildir. Değer atamak istendiğinde set, değer okumak istendiğinde get kullanılabilir.

class Ucgen
    {
         private state int x, y, z, toplam;

         public int kenarX
         {
             get { return x;}
             set { x = value;}
         }

         public int kenarY
         {
             get { return y;}
             set { y = value;}
         }

         public int kenarZ
         {
             get { return z;}
             set { z = value;}
         }

         public int topla()
         {
             toplam = x + y + z;
             return toplam;
         }

    }  

class AnaProgram
    {
         string void Main(string[] args)
         {
             Ucgen ucgen = new Ucgen();  
             ucgen.kenarX = 3;
             ucgen.kenarY = 4;
             ucgen.kenarZ = 5;
             Console.WriteLine("{0} + {1} + {2} = {3}", ucgen.kenarX, ucgen.kenarY, ucgen.kenarZ, ucgen.topla());
             Console.ReadKey();
         }
    }

Kaynak

  • Örneklerle Algoritma ve C# Programlama – Erhan Arı

JavaScript | Day 8 #30DaysOfJavaScript

8thDayOf30DaysJavaScript

Nesneye Yeni Özellik Ekleme

Mevcut JavaScript nesnelerine, onları değiştirdiğiniz şekilde yeni özellikler ekleyebilirsiniz.

var myDog = {
  "name": "Happy Coder",
  "legs": 4,
  "tails": 1,
  "friends": ["Bolt"]
};

myDog.bark = "woof";

Nesneden Özellik Silme

delete object.property; şeklinde silme işlemini gerçekleştirebiliriz.

var ourDog = {
  "name": "Camper",
  "legs": 4,
  "tails": 1,
  "friends": ["everything!"],
  "bark": "bow-wow"
};

delete ourDog.bark;



NESNENİN SON HALİ:


{
  "name": "Camper",
  "legs": 4,
  "tails": 1,
  "friends": ["everything!"]
}

Nesne Özelliklerini Test Etme

Bazen belirli bir nesnenin özelliğinin var olup olmadığını kontrol etmek yararlıdır. Nesnelerin .hasOwnProperty (propname) yöntemini, o nesnenin verilen özellik adına sahip olup olmadığını belirlemek için kullanabiliriz. .hasOwnProperty (), özelliklerin bulunup bulunmama durumuna göre true veya false döndürür.

var myObj = {
  top: "hat",
  bottom: "pants"
};
myObj.hasOwnProperty("top");    // true
myObj.hasOwnProperty("middle"); // false

“Knowing is not enough; we must apply. Wishing is not enough; we must do.”

Johann Wolfgang von Goethe

JavaScript | Day 7 #30DaysOfJavaScript

7thDayOf30DaysJavaScript

Fonksiyonlar İle Yeniden Kullanılabilir Kodlar Yazma

JavaScript’te, foksiyonlar ilekodumuzu yeniden kullanılabilir parçalara ayırabiliriz.

function functionName() {
  console.log("Hello World");
}

Bu işlevi, adını ve ardından parantezleri kullanarak şu şekilde çağırabilir: functionName (); İşlev her çağrıldığında, geliştirici konsolunda “Merhaba Dünya” mesajını yazdıracaktır. Küme parantezleri arasındaki tüm kod, işlev her çağrıldığında çalıştırılacaktır.


UYGULAMA:

  1. Create a function called functionWithArgs that accepts two arguments and outputs their sum to the dev console.
  2. Call the function with two numbers as arguments.
KODUMUZ:
function functionWithArgs(val1, val2){
  console.log(val1 + val2);
}

functionWithArgs(3, 5);

Fonksiyonlarda Yerel ve Global Değişkenler

Aynı ada sahip hem yerel hem de global değişkenlere sahip olmak mümkündür. Bunu yaptığınızda, yerel değişken global değişkene göre öncelik kazanır.

var someVar = "Hat";
function myFun() {
  var someVar = "Head";
  return someVar;
}

console.log(someVar);
console.log(myFun());   // console.log(myFun(););  olmazzzz dikkat!!


|| ÇIKTI:

Hat
Head

Katı Eşitlik Operatörü (Strict Equality Operator)

Katı eşitlik (===), eşitlik operatörünün (==) karşılığıdır. Ancak, her iki değeri de ortak bir türle karşılaştırarak dönüştürmeye çalışan eşitlik operatöründen farklı olarak, katı eşitlik operatörü bir tür dönüştürme gerçekleştirmez. Karşılaştırılan değerlerin farklı türleri varsa, eşit olmadıkları kabul edilir ve katı eşitlik operatörü yanlış döndürür.

3 ===  3   // true
3 === '3'  // false

Yukarıda ikinci örnekte, 3 bir number türüdür, ‘3’ bir string türüdür.


Katı eşitsizlik operatörü (! ==) (Strict Inequality Operator)

Katı eşitsizlik operatörü (! ==), katı eşitlik operatörünün mantıksal zıttıdır. “Kesinlikle Eşit Değildir” anlamına gelir ve katı eşitliğin doğru olduğu ve tersinin doğru olduğu durumlarda yanlış döndürür. Katı eşitsizlik, veri türlerini dönüştürmez. Bu operatör verinin değeriyle birlikte türünü de karşılaştırır.

3 !==  3   // false
3 !== '3'  // true
4 !==  3   // true

Switch İfadesi

Aralarından seçim yapabileceğiniz pek çok seçeneğiniz varsa, bir switch deyimi kullanabiliriz. Bir switch deyimi bir değeri test eder ve çeşitli olası değerleri tanımlayan birçok case deyimine sahip olabilir. İfadeler, ilk eşleşen durum değerinden bir kesinti ile karşılaşılıncaya kadar yürütülür.


DEfault

Bir switch deyiminde, tüm olası değerleri case deyimleri olarak belirtemeyebilirsiniz. Bunun yerine, eşleşen bir vaka ifadesi bulunmazsa yürütülecek varsayılan ifadeyi ekleyebilirsiniz. Bir if / else zincirindeki son else ifadesi gibi düşünün. Bir varsayılan ifade, son durum olmalıdır.

function switchOfStuff(val) {
  var answer = "";

     switch(val){
       case  "a":
         answer = "apple";
         break;
       case "b":
         answer = "bird";
         break;
       case "c":
         answer = "cat";
         break;
       default:
         answer = "stuff";
         break;
     }
  return answer;
}

Fonksiyonlardan Boolean Değerlerini Döndürme

Eşitlik Operatörü ile Karşılaştırma’dan tüm karşılaştırma işleçlerinin bir mantıksal doğru veya yanlış değeri döndürdüğünü hatırlayabilirsiniz. Bazen insanlar karşılaştırma yapmak için şöyle bir if / else ifadesi kullanırlar ancak bunu yapmanın daha iyi bir yolu var. === true veya false döndürdüğünden, karşılaştırmanın sonucunu döndürebiliriz

function isEqual(a,b) {
  if (a === b) {
    return true;
  } else {
    return false;
  }
}

YERİNE:

function isEqual(a,b) {
  return a === b;
}

Fonksiyonlarda return Kalıbı

Bir dönüş ifadesine ulaşıldığında, mevcut fonksiyonun yürütülmesi durur ve kontrol, çağıran konuma geri döner.

function myFun() {
  console.log("Merhaba");
  return "Bünya";
  console.log("byebye")
}
myFun();

Yukarıdaki, konsola “Merhaba” çıktısı verir, “Dünya” değerini döndürür, ancak “byebye” hiçbir zaman çıktılanmaz, çünkü işlev dönüş deyiminde çıkar.

UYGULAMA:

Modify the function abTest so that if a or b are less than 0 the function will immediately exit with a value of undefined.

Hint
Remember that undefined is a keyword, not a string.

verilenler
function abTest(a, b) {
  // Only change code below this line



  // Only change code above this line

  return Math.round(Math.pow(Math.sqrt(a) + Math.sqrt(b), 2));
}

abTest(2,2);
kodumuz
function abTest(a, b) {

if(a < 0 || b < 0){
return undefined;   // undefined bir anahtar kelime, string değil!!
}

  return Math.round(Math.pow(Math.sqrt(a) + Math.sqrt(b), 2));
}

abTest(2,2);

Nesne Özelliklerine Erişme

Bir nesnenin özelliklerine erişmenin iki yolu vardır: nokta notasyonu (.) Ve bir diziye benzer köşeli parantez gösterimi ([]).

1)

var myObj = {
  prop1: "val1",
  prop2: "val2"
};
var prop1val = myObj.prop1; // val1
var prop2val = myObj.prop2; // val2

2)

var myObj = {
  "Space Name": "Kirk",
  "More Space": "Spock",
  "NoSpace": "USS Enterprise"
};
myObj["Space Name"]; // Kirk
myObj['More Space']; // Spock
myObj["NoSpace"];    // USS Enterprise

“Do the difficult things while they are easy and do the great things while they are small. A journey of a thousand miles must begin with a single step.”

Lao Tzu

JavaScript | Day 6 #30DaysOfJavaScript

6thDayOf30DaysJavaScript

push() – pop() – shift() – unshift() Fonksiyonları


push() Fonksiyonu İle Dizileri Yönetmek

push() fonksiyonu ile dizilerin sonuna veri ekleyebiliriz.

.push () bir veya daha fazla parametreyi alır ve bunları dizinin sonuna “iter”.

var myArray = [["John", 23], ["cat", 2]];
myArray.push(["dog",3]);

pop() Fonksiyonu İle Dizileri Yönetmek/Değiştirmek

pop() ile diziden eleman(veri) çıkartabilir ve o çıkardığımız elamanı(veriyi) döndürebiliriz.

.pop (), bir dizinin sonundaki bir değeri “pop” yapmak için kullanılır. Bu “popped off” değerini bir değişkene atayarak saklayabiliriz. Diğer bir deyişle, .pop () dizideki son öğeyi kaldırır ve o öğeyi döndürür.

Herhangi bir girdi türü, bir diziden – sayılar, dizeler, hatta iç içe diziler – “çıkarılabilir”.

var threeArr = [1, 4, 6];
var oneDown = threeArr.pop();
console.log(oneDown); // Returns 6
console.log(threeArr); // Returns [1, 4]

UYGULAMA: Use the .pop() function to remove the last item from myArray, assigning the “popped off” value to removedFromMyArray.

Verilenler:
// Setupvar
myArray = [["John", 23], ["cat", 2]];</p>
// Only change code below this line
var removedFromMyArray;
KODUMUZ:
var myArray = [["John", 23], ["cat", 2]];
var removedFromMyArray = myArray.pop();

shift() Fonksiyonu İle Dizileri Yönetmek/Değiştirmek

pop () her zaman bir dizinin son öğesini kaldırır. Eğer dizini ilk öğesini kaldırmak istersek, burada .shift () devreye girer. Aynı .pop () gibi çalışır, tek farkı sonuncu yerine ilk öğeyi kaldırmasıdır.

var ourArray = ["Stimpson", "J", ["cat"]];
var removedFromOurArray = ourArray.shift();
// removedFromOurArray now equals "Stimpson" and ourArray now equals ["J", ["cat"]].

unshift() Fonksiyonu İle Dizileri Yönetmek/Değiştirmek

.unshift (), tam olarak .push () gibi çalışır, ancak öğeyi dizinin sonuna eklemek yerine, unshift (), öğeyi dizinin başına ekler.

var ourArray = ["Stimpson", "J", "cat"];
ourArray.shift(); // ourArray now equals ["J", "cat"]
ourArray.unshift("Happy");
// ourArray now equals ["Happy", "J", "cat"]

“If things start happening, don’t worry, don’t stew, just go right along and you’ll start happening too.”

Dr. Seuss