Oluşturma: Aşağıdaki ng generate class komutu ile Product sınıfını komut satırından oluşturabilirsiniz. [code lang=”shell”] ng generate class ycnb2b/domain/Product [/code] Sınıf içeriğini tanımlama: Sınıfınızın içeriğini aşağıdaki benzer doldurabilirsiniz. [code lang=”script”] export class Product { material: string; materialOut: string; materialName: string; stockQty: string; baseUnit: string; price: number; currency: string; quantity: number; } [/code] Service ve Component içinde Class kullanma: Product sınıfı ise Service’te veya Component’te aşağıdaki gibi içeri alıp kullanabilirsiniz. [code lang=”shell”] import { Product } from ‘src/app/ycnb2b/domain/product’; export class ShoppingCartService { products: Product[] = []; items: Product[] = []; } [/code] Sınıf içerisinde farklı bir sınıf kullanma: İç içe sınıfı kullanımı ise aşağıdaki gibi kullanabilirsiniz. [code lang=”script”] import { OrderHeadReq } from ‘src/app/ycnb2b/domain-req/order-head-req’; import { CartItemReq } from ‘src/app/ycnb2b/domain-req/cart-item-req’; export class OrderReq { orderHeadReq: OrderHeadReq; orderItemReqList: CartItemReq[]; } [/code] Class tanımlayıp değer atama: Bunun yerine aşağıdaki gibi bir obje oluşturarak ilerleyebilirsiniz. [code lang=”shell”] let orderHeaderReq = new OrderHeaderReq(‘account01’); [/code] Angular içerisinde TypeScript dosyasında aşağıdaki gibi sınıf değişkeni tanımlayıp atama yapabilirsiniz. interface tipi için new kullanamazsınız. [code lang=”script”] let cartItemReq = new CartItemReq(); cartItemReq.material = item.material; cartItemReq.quantity = item.quantity; [/code] Class bütüm alanların doldurulması Değişkenin tipini yukarıdaki gibi tanımlanan Class yaparsanız diğer alanlarını da yukarıdaki diğer alanrı da doldurmalısınız veya constructor kullanmalısınız aksi takdirde aşağıdaki gibi hata alırsınız. [code lang=”script”] let orderHeaderReq: OrderHeadReq; orderHeaderReq = { loggedInUserName: ‘account01’ }; [/code] [code lang=”shell”] ERROR in src/app/ycnb2b/view/transactions/shopping-cart/shopping-cart.component.ts(98,9): error TS2740: Type ‘{ loggedInUserName: any; }’ is missing the following properties from type ‘OrderHeadReq’: op, salesOrg, distrChan, division, and 3 more. [/code] ]]>