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ı
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.
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:
Create a function called functionWithArgs that accepts two arguments and outputs their sum to the dev console.
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.
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.
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
“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.”
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();
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"]].