C# Parametresiz Yapıcılar(Constructors), Setters ve Getters

constructors

Sınıfların yapıcıları parametereli veya parametresiz olabilir. İllaki bir yapıcı(constructor) parametre almak zorunda değildir. Aşağıdaki örnekte bir öğrenciye ait adi, soyadi ve numara bilgilerini içeren Ogrenci sınıfı mevcuttur. Bu sınıfın değişkenlerine dışarıdan erişilemez, çünkü erişim tipleri private’dır.

 private string adi, soyadi;
 private int numara;

Bu değerlere erişim sadece sınıf içinden olabilir. Sınıf içinden bu değişkenlere erişebilen ve dışarıya açık olan fonksiyonları şu şekilde tanımladık :

// Setter's
        public void setAdi(string gelenAd)
        {
            adi = "Öğrenci Adı :" + gelenAd;
        }

        public void setSoyadi(string gelenSoyad)
        {
            soyadi = "Öğrenci Soyadı :" + gelenSoyad;
        }

        public void setNumara(int gelenNumara)
        {
            numara = gelenNumara;
        }

Bu değişkenler private olduğundan sınıf dışından bunların değerlerine ulaşamayız. Bunun için aracı olarak getter fonksiyonlarımızı tanımladık :

 // Getter's
        public string getAdi()
        {
            return adi;
        }

        public string getSoyadi()
        {
            return soyadi;
        }

        public int getNumara()
        {
            return numara;
        } 
/*
        public string ad
        {
            get
            {
                return adi;
            }
            set
            {
                adi = value;
            }
        }

        public string soyad
        {
            get
            {
                return soyadi;
            }
            set
            {
                soyadi = value;
            }
        }

        public int numarasi
        {
            get
            {
                return numara;
            }
            set
            {
                numara = value;
            }
        }
        */

Tüm kodlar aşağıdadır :

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

namespace Siniflar_Setter_Getter
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnKaydet_Click(object sender, EventArgs e)
        {

            Ogrenci ogrenci1 = new Ogrenci();

            ogrenci1.setAdi(txtAdi.Text);
            ogrenci1.setSoyadi(txtSoyadi.Text);
            ogrenci1.setNumara(int.Parse(txtNumara.Text));

            lbxKayitliOgrenciler.Items.Add(ogrenci1.getAdi() + " " + ogrenci1.getSoyadi() + " " + ogrenci1.getNumara());

            /*ogrenci1.setAdi("Mustafa");
            ogrenci1.setSoyadi("SOLAK");
            ogrenci1.setNumara(170);*/
                        
           /* Ogrenci o1 = new Ogrenci();
            o1.ad = txtAdi.Text;
            o1.soyad = txtSoyadi.Text;
            o1.numarasi = int.Parse( txtNumara.Text );

            lbxKayitliOgrenciler.Items.Add(o1.ad + " " + o1.soyad + " " + o1.numarasi);
            */
        }
    }


    class Ogrenci
    {
        private string adi, soyadi;
        private int numara;

        // Parametresiz constructor,yapıcı
        public Ogrenci() { }

        // Setter's
        public void setAdi(string gelenAd)
        {
            adi = "Öğrenci Adı :" + gelenAd;
        }

        public void setSoyadi(string gelenSoyad)
        {
            soyadi = "Öğrenci Soyadı :" + gelenSoyad;
        }

        public void setNumara(int gelenNumara)
        {
            numara = gelenNumara;
        }

        // Getter's
        public string getAdi()
        {
            return adi;
        }

        public string getSoyadi()
        {
            return soyadi;
        }

        public int getNumara()
        {
            return numara;
        }


        /*
        public string ad
        {
            get
            {
                return adi;
            }
            set
            {
                adi = value;
            }
        }

        public string soyad
        {
            get
            {
                return soyadi;
            }
            set
            {
                soyadi = value;
            }
        }

        public int numarasi
        {
            get
            {
                return numara;
            }
            set
            {
                numara = value;
            }
        }
        */



    
    }

}

Formun resmi ve Forma ait designer sınıfının içeriği ise :

namespace Siniflar_Setter_Getter
 {
     partial class Form1
     {
         ///          /// Required designer variable.         /// 
         private System.ComponentModel.IContainer components = null;    
/// <summary>
    /// Clean up any resources being used.
    /// </summary>
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Windows Form Designer generated code

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        this.btnKaydet = new System.Windows.Forms.Button();
        this.label1 = new System.Windows.Forms.Label();
        this.label2 = new System.Windows.Forms.Label();
        this.label3 = new System.Windows.Forms.Label();
        this.txtAdi = new System.Windows.Forms.TextBox();
        this.txtSoyadi = new System.Windows.Forms.TextBox();
        this.txtNumara = new System.Windows.Forms.TextBox();
        this.groupBox1 = new System.Windows.Forms.GroupBox();
        this.groupBox2 = new System.Windows.Forms.GroupBox();
        this.lbxKayitliOgrenciler = new System.Windows.Forms.ListBox();
        this.groupBox1.SuspendLayout();
        this.groupBox2.SuspendLayout();
        this.SuspendLayout();
        // 
        // btnKaydet
        // 
        this.btnKaydet.Location = new System.Drawing.Point(77, 155);
        this.btnKaydet.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
        this.btnKaydet.Name = "btnKaydet";
        this.btnKaydet.Size = new System.Drawing.Size(100, 42);
        this.btnKaydet.TabIndex = 0;
        this.btnKaydet.Text = "Kaydet";
        this.btnKaydet.UseVisualStyleBackColor = true;
        this.btnKaydet.Click += new System.EventHandler(this.btnKaydet_Click);
        // 
        // label1
        // 
        this.label1.AutoSize = true;
        this.label1.Location = new System.Drawing.Point(31, 39);
        this.label1.Name = "label1";
        this.label1.Size = new System.Drawing.Size(36, 18);
        this.label1.TabIndex = 1;
        this.label1.Text = "Adı :";
        // 
        // label2
        // 
        this.label2.AutoSize = true;
        this.label2.Location = new System.Drawing.Point(14, 81);
        this.label2.Name = "label2";
        this.label2.Size = new System.Drawing.Size(55, 18);
        this.label2.TabIndex = 2;
        this.label2.Text = "Soyadı :";
        // 
        // label3
        // 
        this.label3.AutoSize = true;
        this.label3.Location = new System.Drawing.Point(9, 119);
        this.label3.Name = "label3";
        this.label3.Size = new System.Drawing.Size(62, 18);
        this.label3.TabIndex = 3;
        this.label3.Text = "Numara :";
        // 
        // txtAdi
        // 
        this.txtAdi.Location = new System.Drawing.Point(77, 36);
        this.txtAdi.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
        this.txtAdi.Name = "txtAdi";
        this.txtAdi.Size = new System.Drawing.Size(100, 23);
        this.txtAdi.TabIndex = 4;
        this.txtAdi.Text = "Mustafa";
        // 
        // txtSoyadi
        // 
        this.txtSoyadi.Location = new System.Drawing.Point(77, 78);
        this.txtSoyadi.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
        this.txtSoyadi.Name = "txtSoyadi";
        this.txtSoyadi.Size = new System.Drawing.Size(100, 23);
        this.txtSoyadi.TabIndex = 5;
        this.txtSoyadi.Text = "SOLAK";
        // 
        // txtNumara
        // 
        this.txtNumara.Location = new System.Drawing.Point(77, 116);
        this.txtNumara.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
        this.txtNumara.Name = "txtNumara";
        this.txtNumara.Size = new System.Drawing.Size(100, 23);
        this.txtNumara.TabIndex = 6;
        this.txtNumara.Text = "45";
        // 
        // groupBox1
        // 
        this.groupBox1.Controls.Add(this.txtAdi);
        this.groupBox1.Controls.Add(this.txtNumara);
        this.groupBox1.Controls.Add(this.btnKaydet);
        this.groupBox1.Controls.Add(this.txtSoyadi);
        this.groupBox1.Controls.Add(this.label1);
        this.groupBox1.Controls.Add(this.label2);
        this.groupBox1.Controls.Add(this.label3);
        this.groupBox1.Font = new System.Drawing.Font("Trebuchet MS", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162)));
        this.groupBox1.Location = new System.Drawing.Point(12, 15);
        this.groupBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
        this.groupBox1.Name = "groupBox1";
        this.groupBox1.Padding = new System.Windows.Forms.Padding(3, 4, 3, 4);
        this.groupBox1.Size = new System.Drawing.Size(203, 218);
        this.groupBox1.TabIndex = 7;
        this.groupBox1.TabStop = false;
        this.groupBox1.Text = "Öğrenci Bilgileri";
        // 
        // groupBox2
        // 
        this.groupBox2.Controls.Add(this.lbxKayitliOgrenciler);
        this.groupBox2.Location = new System.Drawing.Point(222, 15);
        this.groupBox2.Name = "groupBox2";
        this.groupBox2.Size = new System.Drawing.Size(338, 218);
        this.groupBox2.TabIndex = 8;
        this.groupBox2.TabStop = false;
        this.groupBox2.Text = "Kayıtlı Öğrenciler";
        // 
        // lbxKayitliOgrenciler
        // 
        this.lbxKayitliOgrenciler.Dock = System.Windows.Forms.DockStyle.Fill;
        this.lbxKayitliOgrenciler.FormattingEnabled = true;
        this.lbxKayitliOgrenciler.ItemHeight = 16;
        this.lbxKayitliOgrenciler.Location = new System.Drawing.Point(3, 16);
        this.lbxKayitliOgrenciler.Name = "lbxKayitliOgrenciler";
        this.lbxKayitliOgrenciler.Size = new System.Drawing.Size(332, 199);
        this.lbxKayitliOgrenciler.TabIndex = 0;
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 16F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(576, 255);
        this.Controls.Add(this.groupBox2);
        this.Controls.Add(this.groupBox1);
        this.Font = new System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162)));
        this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
        this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
        this.MaximizeBox = false;
        this.MinimizeBox = false;
        this.Name = "Form1";
        this.Text = "Öğrenci Kayıt Programı";
        this.groupBox1.ResumeLayout(false);
        this.groupBox1.PerformLayout();
        this.groupBox2.ResumeLayout(false);
        this.ResumeLayout(false);

    }

    #endregion

    private System.Windows.Forms.Button btnKaydet;
    private System.Windows.Forms.Label label1;
    private System.Windows.Forms.Label label2;
    private System.Windows.Forms.Label label3;
    private System.Windows.Forms.TextBox txtAdi;
    private System.Windows.Forms.TextBox txtSoyadi;
    private System.Windows.Forms.TextBox txtNumara;
    private System.Windows.Forms.GroupBox groupBox1;
    private System.Windows.Forms.GroupBox groupBox2;
    private System.Windows.Forms.ListBox lbxKayitliOgrenciler;
}

}

Bir cevap yazın