Inheritance (Miras)

Sizlere bu yazıda inheritance’ın programlamada ne anlama geldiğinden bahsedeceğim. Inheritance genel olarak Oject Oriented Programming’in (Nesne Yönelimli Programlama) kullanılan bir prensiptir. En basit  şekliyle: inheritance sayesinde bir sınıfın metodlarını kullanan başka sınıflar türetilebilmesine yarar diyebiliriz. Ana sınıflara (‘base class’) yeni özellikler ekleyerek ya da gerekirse sahip olduğu özellikleri değiştirerek yeni altsınıflar (‘derived class’) oluşturma yoludur. Örneğin; bir otobüs ve kamyon adında sınıfınız varsa bunların ortak özelliklerinde oluşan bir araç sınıfı yazarız. Otobüs ve kamyon,  bu araç sınıfından türemiş olur. Yani hiyerarşik bir yapı söz konusudur.
Önce araç (vehicle class) sınıfını yazalım.

#include<iostream>
#include<string>
using namespace std;
class Vehicle
{
private:
	string name;
	string sound;
	int speed;
	int weight;
public:
	
	Vehicle(string n,string s,int sp,int w)
	{
		name=n;
		sound=s;
		speed=sp;
		weight=w;
	}
	void show()
	{
		cout<<"Name.:"<<name<<endl;
		cout<<"Sound.:"<<sound<<endl;
		cout<<"Speed.:"<<speed<<endl;
		cout<<"Weight.:"<<weight<<endl;
	}
	
	void makeSound(int n=1)
	{
		for(int i=0;i<n;i++)
		{
			cout<<sound<<" ";
		}
		cout<<endl;
	}
};

Şimde de onda türeyecek olan kamyon sınıfını yazalım. Devamı Inheritance (Miras)

Recursive Fonksiyonlar

Recursive fonksiyonlar herhangi bir döngü kullanmadan (for, do while, while..) kendisini çağırarak yazılan fonksiyonlardır.

Örneğin; faktoriyel hesaplayan bir fonksiyonu önce normal bir şekilde sonra recursive şekilde yazalim.


int faktoriyel(int n)
{
       int fakt=1;
       for(int i=1; i<=n; i++)
       {
            fakt=fakt*i;
       }
       return fakt;
}

Şimde de recursive şekilde yazalım.. Devamı Recursive Fonksiyonlar

C#’da access e bağlanmak ve veri çekmek

Aşağıdaki örnekte c#da access’e bağlanıp verileri bir buton sayesinde listboxa ekleyeceğiz..

1. database dosyasi (*.mdb) projenin kayıtlı olduğu klasörde bin/debug klasörünün içinde  olmalıdır.

2. data.oleb import edilmelidir.
using System.Data.OleDb;

3. bağlantıyı gerçekleştirecek kod parcasi her veri cekme isleminde kullanılacağı için bir fonksiyon halinde yazılması işleri kolaylaştıracaktır.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace WindowsFormsApplication3
{
   public partial class Form1 : Form
   {
		public Form1()	
		{
			InitializeComponent();
		}
		public OleDbConnection baglanti;
		public void Baglanti()
     {
			try
			{
				baglanti = new OleDbConnection
            ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=courses.mdb");
				baglanti.Open();
			}
			catch (OleDbException ex)
			{
				MessageBox.Show(ex.Message);
         }
		}
		private void Verileri_yazdirma()
     {
				OleDbCommand komut;
				OleDbDataReader oku;
				try
				{
					Baglanti();
					komut = new OleDbCommand();
                 komut.CommandText ="Select courseName from  course_name";
					komut.Connection = baglanti;
					oku = komut.ExecuteReader();
					while (oku.Read())
					{
						listBox1.Items.Add(oku[0]);
					}
				}
				catch (OleDbException ex)
				{
                 MessageBox.Show(ex.Message);
				}
			}
			private void button1_Click(object sender, EventArgs e)
			{
				Verileri_yazdirma();
			}
		}
}