Nesne tabanlı programlama nasıl çalışıyor?

:

yazbel_domain = "forum.yazbel.com"
youtube_domain = "youtube.com"

print(yazbel_domain)

yazbel_domain = "yazbel.com"

print(yazbel_domain)

Assembly’den once C’de, veya OO destegi olmayan baska bir daha-yuksek-seviyeli dilde nasil oldugunu dusunmek/arastirmak isteyebilirsin.

2006 tarihli bir ek$i sozluk entry’mden alinti yapayim:

#include <stdlib.h>
#include <stdio.h>

typedef struct class_araba {
	void (*constructor)(struct class_araba *self);
	void (*destructor)(struct class_araba *self);

	int tekerleksayisi;
	void (*git)(struct class_araba *self);
} Araba;

void git(Araba *self)
{
	printf("%i tekerlegimin uzerinde gidiyorum.\n", self->tekerleksayisi);
}

void constructor(Araba *self)
{
	self->tekerleksayisi = 0;
}

Araba *new_araba(void)
{
	Araba *ref;

	if ((ref = malloc(sizeof(Araba))) == NULL) {
		fputs("error creating new instance of Araba.", stderr);
		exit(EXIT_FAILURE);
	}

	ref->constructor = constructor;
	ref->destructor = NULL;
	ref->git = git;

	ref->constructor(ref);
	return ref;
}

void delete_araba(Araba *ref)
{
	if (ref->destructor) ref->destructor(ref);
	free(ref);
}

int main(void)
{
	Araba *a;

	a = new_araba();

	a->git(a);
	a->tekerleksayisi = 4;
	a->git(a);

	delete_araba(a);

	return EXIT_SUCCESS;
}

/*
> 0 tekerlegimin uzerinde gidiyorum.
> 4 tekerlegimin uzerinde gidiyorum.
*/

Dogru. Objeler sadece programcilara yardim eden kurgular. Hangi programlama dilinde ne yaparsan yap, assembly’de bir adet 8 veya 64 bitlik sayi uzerinde 7 temel isleme donusecek.

3 Beğeni