Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals



Benzer belgeler
Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Laboratuar Notları #3

Laboratuar Notları #5

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Laboratuar Notları #7

YZM 2105 Nesneye Yönelik Programlama

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals. Module 2:Server Side Internet Programming

BİL-142 Bilgisayar Programlama II

Laboratuar Notları #8

Laboratuar Notları #5

Sunum İçeriği. Programlamaya Giriş

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Nesneye Dayalı Programlama Laboratuvarı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

public static int Toplam int x, int y

HSancak Nesne Tabanlı Programlama I Ders Notları

Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir:

Ders 8: Metotlar. barisgokce.com

YZM 2105 Nesneye Yönelik Programlama

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Klavyeden Basit Giriş/Çıkış İşlemleri

NESNEYE YÖNELİK PROGRAMLAMA

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

#ifndef COMPLEX_H #define COMPLEX_H

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Nesneye Yönelik Programlama (OOP) 7.Hafta

Dr. Fatih AY Tel: fatihay@fatihay.net

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

YZM 2105 Nesneye Yönelik Programlama

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals. Module 3: Cloud Computing. Laboratuar Notları

Fonksiyonlar (Altprogram)

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

YZM 2105 Nesneye Yönelik Programlama

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

ALGORİTMA VE PROGRAMLAMA II

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BTEP243 Ders 3. class Yazım Kuralı:

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Android Ders Notları

Öğr. Gör. Serkan AKSU 1

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

BİLG Dr. Mustafa T. Babagil 1

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

Programlama Dillerinde Kullanılan Veri Tipleri

YZM 2105 Nesneye Yönelik Programlama

BMH-303 Nesneye Yönelik Programlama

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

C# Metotlar ve Metot Tanımlama

Mantıksal İşlemler. 7.1 true, false, nil

C#(Sharp) Programlama Dili

BİL-141 Bilgisayar Programlama I (Java)

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

C Programlama Dilininin Basit Yapıları

Laboratuar Notları #5

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

İsimler ve Kapsam. 24 Şubat Programlama Dilleri - Pamukkale Üniversitesi 1

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Diziler İndisli Değişkenler

Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end

C++ Dersi: Nesne Tabanlı Programlama

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

HSancak Nesne Tabanlı Programlama I Ders Notları

Yrd. Doç. Dr. Caner ÖZCAN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA II

Genel Programlama II

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Transkript:

The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module 2:Server Side Internet Programming Modül 2: Sunucu Tarafı Internet Programlaması Laboratuar Notları A project implemented by CyberSoft Bilişim Teknolojileri Ltd. This project is funded by European Union. The contents of this publication are the sole responsibility of Cybersoft Bilişim Teknolojileri Ltd. and can in no way be taken to reflect the views of the European Union.

İçerik Bölüm 2: Nesne Kavramı ve Sınıf Nesnelerinin Tasarımı Örnek 1: Sınıf nesnesi yaratma.2 Çalışma 1: Account Sınıfında Değişiklik Yapma.3 Çalışma 2: GradeBook Sınıfında Değişiklik Yapma 6 Çalışma 3: Employee Sınıfı Yaratma 8 Çalışma 4: Person Sınıfındaki Hataları Bulma.10 Çalışma 5. Date İsimli Yeni Sınıf Yaratma..12 1

Örnek 1: Sınıf Nesnesi Yaratma Sınıf nesnesi birden fazla veri tipinin bir arada bulunduğu ve belli bir işi yapmaya yönelik hazırlanan birleşik bir yapıdır. Şimdi temel olarak bir sınıf nesnesinin nasıl yaratıldığına bakalım: public class Kitap { String Book_name; String author_name; int page_number; float price;... float findprice() {... } void changeprice(float new_price) {... Örnek 1: Sınıf nesnesi yaratma Bu örnekte de görüldüğü gibi bir sınıf nesnesi yaratırken class anahtar sözcüğünü kullanmaktayız. Nesnemizin tamamı, class anahtar sözcüğü ile onu takip eden ve bizim vereceğimiz isimden sonra açılan küme parantezi ile en sonda kapatılan küme parantezi içerisine yazılmaktadır. Nesne yaratılırken ilk kullanılan public anahtar sözcüğü nesnenin başka nesneler içerisinde de doğrudan kullanılabileceğini belirtmektedir. Bu anahtar sözcük gibi nesnenin doğrudan kullanılamayacağını belirtebileceğiniz private anahtar sözcügü de mevcuttur. Bunu dışında yeri geldikçe kullanılabilecek başka anahtar sözcüklerin olduğunu da belirtmeliyim. Gördüğümüz gibi Book isimli sınıf nesnemizin içerisinde book_name, author_name gibi değiskenler (variable) yer almaktadır. Bu değişkenlere sınıf degişkenleri denilir ve nesnenin özelliklerini meydana getirirler. Bu özellikler her Book nesnesi için değişecektir ancak her Kitap nesnesi, değerleri farklı olsa bile bu özelliklere sahip olacaktır. Ayrıca yine nesnemiz içerisinde bu değişkenlere ek olarak bazı metodların yazılabilecegini de görmekteyiz. Java'da metod olarak isimlendirilen kavramlar C ya da C++ programlama dillerindeki fonksiyon kavramı ile aynı şeyi anlatmaktadır. Metodlar sayesinde belirli işlerin tek seferde yapılmasını sağlayabiliriz. Mesela bu örnek sınıf nesnesini kullanırken sınıf değiskenleri içerisine sırasıyla book_name, author_name ve price yükledigimizi kabul edelim. Bundan sonra herhangi bir anda kitabın ücretini öğrenmek istediğimizde önce hangi değişkenler olduğunu, hangi değişkende aslında price bilgisinin yer aldığını öğrenmek yerine bu işi bizim için yapıp bize sadece sonucu üretecek bir metod yazmak daha akıllıca olacaktır. Şimdi şu ana kadar edinmiş olduğumuz bilgiler ışığında aşağıda verilen çalışmaları yapalım. 2

Çalışma 1:Account Sınıfında Değişiklik Yapma Aşağıda verilen program şablonu hatasız çalışan bir Java programıdır. Ancak programdaki bir veya birden fazla anahtar satırları açıklama satırlarıyla değiştirilmiştir. Problem tanımını okuyun ve örnek sonucu inceleyin; daha sonra da şablon kod üzerinde çalışın. Problem çözme ipuçları nı kullanarak /* */ gösterilen açıklama satırlarını Java koduyla değiştirin. Programınızı derleyin ve çalıştırın. Bulduğunuz sonucu örnek sonuçla karşılaştırın. 1.1 Account Çalışmasının Amacı Bu çalışmada şu konular incelenecektir: Metodların yaratılması Metodları çağırma ve metodlardan dönen değerleri alma If komutunu kullanarak bir koşulu test etme Printf komutunu kullanarak değişkenlerin değerini ekrana yazdırma 1.2 Account Çalışmasının Problem Tanımı Aşağıda verilen Account isimli program şablonunda şu değişiklileri yapınız. Account dan para çekebilmek için kullanılacak olan debit isminde yeni bir metod yazınız. Debit miktari Account daki balance miktarını aşmamalıdır. Eğer aşarsa, Debit amount exceeded account balance." mesajı ekrana yazılmalıdır. AccountTest metodunda gerekli değişikliği yaparak debit metodunu test ediniz. 1.3 Account Çalışmasının Örnek Program Çıktısı 3

1.4 Account Çalışmasının Program Şablonu Şekil 1.1 Account.java Şekil 1.2 AccountTest.java (1 of 2) 4

Şekil 1.2 AccountTest.java (2 of 2) 1.5 Account Çalışması için Problem Çözme İpuçları 1. debit adında void tipinde dönüşüm veren bir public metod tanımlayınız. 2. Kullanıcın istediği miktarı girebilmesini sağlayan bir parametre kullanınız. 3. debit metodunun ana kısmında balance da herhangi bir withdrawal olup olmadığını test etmek için if komutunu kullanınız. Eğer koşul doğruysa, ekrana uygun bir mesaj yazdırınız. 4. withdrawal miktarının balance daki miktardan küçük veya eşit olup olmadığını test etmek için başka bir if komutu kullanınız. Daha sonra balance miktarını uygun şekilde düşürünüz. 5

Çalışma 2: GradeBook Sınıfında Değişiklik Yapma Aşağıda verilen GradeBook ismindeki program şablonu hatasız çalışan bir Java programıdır. Ancak programdaki bir veya birden fazla anahtar satırları açıklama satırlarıyla değiştirilmiştir. Problem tanımını okuyun ve örnek sonucu inceleyin; daha sonra da şablon kod üzerinde çalışın. Problem çözme ipuçları nı kullanarak /* */ gösterilen açıklama satırlarını Java koduyla değiştirin. Programınızı derleyin ve çalıştırın. Bulduğunuz sonucu örnek program çıktısıyla karşılaştırın. 2.1 GradeBook Çalışmasının Amacı Bu çalışmanın amacı aşağıda belirtilen Java programlama konseptlerinin öğrenilmesini sağlamaktır. Bu çalışmada şu konular incelenecektir: instance değişkeni tanımlanması instance değişkeninin değerinin değiştirebilmek için set isminde metod yazılması Parametre kullanan metodların tanımlanması 2.2 GradeBook Çalışmasının Problem Tanımı Aşağıda verilen GradeBook program şablonunda şu değişiklileri yapınız. Dersi veren hocanın ismini temsil eden instructor s name adında ikinci bir string tipinde instance variable tanımlayınız. instructor s name değiştirebilmek için set isminde bir metod tanımlayınız ve instructor s name alabilmek için get isminde başka bir metod tanımlayınız. Constructor de gerekli değişiklikleri yaparak iki parametre almasını sağlayınız. Bu parametrelerden biri course name diğeri ise instructor s name olmalıdır. displaymessage metodunu değiştirerek welcome mesajı and course name i ekrana yazdırınız.daha sonra da This course is presented by: " şeklinde başlayıp instructor s name ekrana yazan ikinci bir mesaj tanımlayınız metoda eklenen yenilikleri yapabilmesi için test application da gerekli değişiklikleri yapınız. 2.3 GradeBook Çalışmasının Örnek Program Çıktısı 6

2.4 GradeBook Çalışmasının Program Şablonu Şekil 2.1 GradeBook.java Şekil 2.2 GradeBookTest.java 7

2.5 GradeBook Çalışması için Problem Çözme İpuçları 1. Gradebook sınıfında dersi veren hocanın ismini temsil eden instructor s name adında ikinci bir string tipinde instance variable tanımlayınız. 2. instructor s name için set isminde yeni bir public metod tanımlayınız. Bu metod herhangi bir değeri geri göndermesin ama String tipinde bir parameter alsın. set metodunun ana kısmında alınan parametre instructor s name e atansın. 3. instructor s name almak için get isminde yeni bir public metod tanımlayınız. Bu metod herhangi bir parametre almasın ama String tipinde tanımlanmış olan instructor s name geri döndürsün. 4. constructor de gerekli değişiklikleri yaparak String tipinde iki parametre almasını sağlayınız. Bu parametrelerden biri course name diğeri ise instructor s name olmalıdır. instructor s name temsil eden parametreyi uygun instance değişkenine (variable) atayınız. 5. displaymessage metoduna daha önceden tanımladığınız instance değişkeninin değerini ekrana yazdırabilmek için System.out.printf komutu ekleyiniz. Çalışma 3. Employee Sınıfı Yaratma 3.1 Employee Çalışmasının Amacı Bu çalışmanın amacı aşağıda belirtilen Java programlama konseptlerinin öğrenilmesini sağlamaktır. Sınıf (class) yaratılması instance değişkenlerinin tanımlanması constructor tanımlanması set ve get metodlarının tanımlanması başka bir class ın özelliklerini gösterebilen bir test application yazılması 3.2. Employee Çalışmasının Problem Tanımı Aşağıda verilen program şablonunu kullanarak Employee isminde bir class yaratınız. Bu yaratılan class ın özelllikleri şunlar olmalıdır: 1. Bu class üç tane instance değişkeni içermelidir. first name (string) last name (string) monthly salary (double) 2. Bu class a yukarıdaki üç instance değişkenine ilk değerlerini atayacak bir constructor yazınız. 3. Her instance değişkeni için set ve get metodları yazınız. Eğer monthly salary pozitif değilse, 0.0 a eşitleyiniz. 4. Yarattığınız Employee class ın özelliklerini gösteren bir test application yazınız. 5. İki tane Employee object yaratınız ve her Employee nin yearly salary sini ekrana yazdırınız. 6. Daha sonra her Employee nin maaşını %10 artırarak yearly salary sini tekrardan ekrana yazdırınız. 8

3.3 Employee Çalışmasının Örnek Program Çıktısı 3.4 Employee Çalışmasının Program Şablonu Employee.java Şekil 3.1 Şekil 3.2 EmployeeTest.java 9

3.5 Employee Çalışması için Problem Çözme İpuçları 1. Employee sınıfı için üç tane instance değişkeni tanımlayınız. first_name (string) last_name (string) monthly_salary (double) 2. constructor her instance değişkeni için bir parametre istemelidir. Yani constructor toplam üç tane parametre istemelidir. 3. Her instance değişkeni için public set metodları yazınız. set metodları herhangi bir değer geri döndürmesin ve herbirinin ilgili instance değişkenine uygun tipte parametresi olsun. (first name ve last name String tipinde, monthly salary double olsun ) 4. Her instance değişkeni için public get metodları yazınız. get metodları herhangi bir parametre almasın ama ilgili instance değişkenine uygun tipte değer geri döndürsün. 5. constructor test sınıfından çağrıldığı zaman, constructor ün parametrelerine uygun üç tane argüman (argument) gönderilmelidir. 6. Her employee ye verilecek artış için current_salary miktarınının get metodu tarafından alınabilmesı için bir call gereklidir.aynı zamanda new_salary i tanımlamak için kullanılacak olan set metodu için de bir call gereklidir. 7. monthly_salary dolar cinsindendir. Dolayısıyla salary miktarını ekrana yazdırırken noktadan sonra sadece iki değer yazılabilmesi için %.2f belirleyicisini kullanınız. Çalışma 4. Person Sınıfındaki Hataları Bulma Bu çalışmadaki program kodu hatalar içermektedir. Programın çalışabilmesi için bütün derleme hatalarını düzeltiniz. Program derlendiğinde, programı çalıştırınız ve sonuçları örnek ekran çıktısıyla karşılaştırınız. Daha sonra mantıksal hata varsa düzeltiniz. Program doğru şekilde çalıştığında sonuçlar aşağıdaki örnek program çıktısı gibi olmalıdır. 4.1 Person Çalışmasının Örnek Program Çıktısı 10

4.2 Hatalı Program Kodu Şekil 4.1 Person.java 11

Şekil 4.2 PersonTest.java Çalışma 5. Date İsminde Yeni Bir Sınıf Yaratma Date isminde yeni bir sınıf yaratınız. Bu sınıf üç tane değişken içermelidir: month (int) day (int) year (int) Yarattığınız sınıfın bu üç değişkene ilk değerlerini atamak için kullanılacak bir constructoru olmalıdır. Her değişken için birer set ve get metodu tanımlayınız. month, day ve year bilgilerini slash (/) ile ayrılmış şekilde ekrana yazdırmak için displaydate isminde bir metod tanımlayınız. Aşağıdaki örnek program çıktısını verebilecek DateTest isminde bir test application yazınız. 12