S.A. Arkadaşlar,
Angular serimizin ikinci yazısı olan ng generate yapılarından olan module, component, service, directive, pipe gibi kavramlarını inceleyeceğiz. Serinin ilk yazısına buradan erişebilirsiniz. Yazıya başlamadan önce rastladığım güzel bir örneği anlatmak istiyorum. Uygulamanızı bir bina olarak düşünün. Bina içerisinde birden çok bölüm olabilir (module).Bölüm içersinde Angular'ın yapı taşı olan odalar(component) yer alır. Binalar içinde ve binalara arası daha rahat etmek için taşıyıcılar(service) yer alır. Bölümler arası hizmeti kullanışlı hale getirmek için de pipe'ler yer alır. Ayrıca site içinde havuz, spor salonu gibi ortak kullanım alanları vardır(shared module). Şimdi artık bu kavramları daha ayrıntılı olarak ele alalım.
enum etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
enum etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
17 Kasım 2019 Pazar
Angular Çalışma Notlarımdan - 2 (ng generate yapıları)
Etiketler:
angular,
application,
class,
component,
decarator,
directive,
enum,
guard,
interface,
module,
ng generate,
pipe,
router,
service,
spa
19 Ocak 2015 Pazartesi
Enum
S.a. Arkadaşlar,
Bugünkü yazımız enumlar olacak , belki daha önce anlatmam gereken veya yer yer bahsettiğim bir konu olduğu halde , tekrardan hem bir başlık altında toplamak hem de atladığım, gözden kaçırdığım yer olursa onları da almak adına enumlar adında bir yazı yazalım dedik. Peki nedir enumlar ? Sabitlerin değerleri temsil ederler. Fakat bunu yaparken daha derli toplu, anlaşılır bir halde yaparlar. Bu nedenle bu yapıyı kullanırız. Java'ya da 1.5 sürümüyle eklenmiştir, daha öncesinde dediğimiz gibi sabitler (constant) kullanılırdı. Kısaca bir örnek yapacak olursak;
public class TrafikLambasi {
public static final int GREEN = 1;
public static final int YELLOW = 0;
public static final int RED = -1;
}
yerine kısaca
enum TrafficLight {
GREEN(1),YELLOW(0), RED(-1);
TrafficLight(int value) { //int yerine farklı değişkenler tanımlanabilir.
//GREEN(değişken türüne değer atanır)
}
yazabiliriz. Şuan durum o kadar da karışık değil çünkü sadece 3 değişkenimiz var. Mesela bu aylar gibi 12 değişken veya farklı yapıda belki yüzlerce değişken kullanacağımız bir proje olsa, ne demek istediğimiz daha iyi anlaşılırdı. Böylece enumla bu karışıklığın önüne geçiyoruz. Şimdi de aşağıda yazdığımız kodda enumlarla ilgili temel şeyler yazmaya çalıştık. Kafanıza takılan şeyleri siz de kodun üzerinde farklı işlemler yaparak aklınızdaki soruları gidermeye çalışın , böylece daha iyi oturtacağınıza inanıyoruz.
enum Outer { //enum dışarıda tanımladığında sadece default ve public alabilir
//implements alabilir interfacelerden fakat extends ile kalıtım yapamaz
SHORT, NORMAL, TALL;
Outer(){
//class ve abstract sınıflar gibi constructor tanımlanailir
// ama hatırlarsanız interfacelerde constuctor tanımlayamıyorduk
}
}; //noktalı virgül zorunlu değil
class JavaCoffee {
protected enum Inner{ //içeride tanımlanırsa private ve protected de alabilir
SHORT1,NORMAL1,TALL1;
static enum InnerEnumClass{
//iç içe enum tanımlanailir, static de olabilir
}
Inner() {
//constructora public gelemez. Nedeni enum protected olmasıdır.
//ya aynısı ya da daha gizlisi olmalıdır !! bunu da tekrar hatırlattık
}
}; // noktalı virgül zorunlu değil
Outer size;
Inner size1;
static void metod(){
//enum InMetod{} , metodlar içinde tanımlanamazlar
}
}
public class JavaCoffeeTest {
public static void main(String[] args) {
JavaCoffee coffee = new JavaCoffee();
//Outer outer = new Outer(); yeni obje oluşturulmaz
//enum sınıf dışında tanımlanırken
coffee.size = Outer.NORMAL;
System.out.println(coffee.size);
//senum sınıf içinde tanımlanırken
coffee.size1 = JavaCoffee.Inner.TALL1;
System.out.println(coffee.size1);
}
}
Bugünkü yazımız enumlar olacak , belki daha önce anlatmam gereken veya yer yer bahsettiğim bir konu olduğu halde , tekrardan hem bir başlık altında toplamak hem de atladığım, gözden kaçırdığım yer olursa onları da almak adına enumlar adında bir yazı yazalım dedik. Peki nedir enumlar ? Sabitlerin değerleri temsil ederler. Fakat bunu yaparken daha derli toplu, anlaşılır bir halde yaparlar. Bu nedenle bu yapıyı kullanırız. Java'ya da 1.5 sürümüyle eklenmiştir, daha öncesinde dediğimiz gibi sabitler (constant) kullanılırdı. Kısaca bir örnek yapacak olursak;
public class TrafikLambasi {
public static final int GREEN = 1;
public static final int YELLOW = 0;
public static final int RED = -1;
}
yerine kısaca
enum TrafficLight {
GREEN(1),YELLOW(0), RED(-1);
TrafficLight(int value) { //int yerine farklı değişkenler tanımlanabilir.
//GREEN(değişken türüne değer atanır)
}
yazabiliriz. Şuan durum o kadar da karışık değil çünkü sadece 3 değişkenimiz var. Mesela bu aylar gibi 12 değişken veya farklı yapıda belki yüzlerce değişken kullanacağımız bir proje olsa, ne demek istediğimiz daha iyi anlaşılırdı. Böylece enumla bu karışıklığın önüne geçiyoruz. Şimdi de aşağıda yazdığımız kodda enumlarla ilgili temel şeyler yazmaya çalıştık. Kafanıza takılan şeyleri siz de kodun üzerinde farklı işlemler yaparak aklınızdaki soruları gidermeye çalışın , böylece daha iyi oturtacağınıza inanıyoruz.
enum Outer { //enum dışarıda tanımladığında sadece default ve public alabilir
//implements alabilir interfacelerden fakat extends ile kalıtım yapamaz
SHORT, NORMAL, TALL;
Outer(){
//class ve abstract sınıflar gibi constructor tanımlanailir
// ama hatırlarsanız interfacelerde constuctor tanımlayamıyorduk
}
}; //noktalı virgül zorunlu değil
class JavaCoffee {
protected enum Inner{ //içeride tanımlanırsa private ve protected de alabilir
SHORT1,NORMAL1,TALL1;
static enum InnerEnumClass{
//iç içe enum tanımlanailir, static de olabilir
}
Inner() {
//constructora public gelemez. Nedeni enum protected olmasıdır.
//ya aynısı ya da daha gizlisi olmalıdır !! bunu da tekrar hatırlattık
}
}; // noktalı virgül zorunlu değil
Outer size;
Inner size1;
static void metod(){
//enum InMetod{} , metodlar içinde tanımlanamazlar
}
}
public class JavaCoffeeTest {
public static void main(String[] args) {
JavaCoffee coffee = new JavaCoffee();
//Outer outer = new Outer(); yeni obje oluşturulmaz
//enum sınıf dışında tanımlanırken
coffee.size = Outer.NORMAL;
System.out.println(coffee.size);
//senum sınıf içinde tanımlanırken
coffee.size1 = JavaCoffee.Inner.TALL1;
System.out.println(coffee.size1);
}
}
Kaydol:
Kayıtlar (Atom)