در این قسمت تیم کدگیت را با آموزش شی گرایی در سی پلاس پلاس همراهی کنید. در این آموزش ابتدا شی گرایی را معرفی میکنیم. در ادامه کلاس و شی را توضیح داده و در آخر مثالی را پیاده سازی میکنیم. پیشنهاد میشود آموزشهای ابتدایی سی پلاس پلاس را قبل از ادامه این آموزش، مطالعه کنید.
شی گرایی
همه چیز در مورد اشیا است. همانطور که اشیا در دنیای واقعی رفتار میکنند، در دنیای نرم افزار نیز همانگونه اند. اشیا در یک برنامه تقریبا همه کار را انجام میدهند. به عنوان مثال ماشین ها شتاب میگیرند یا انسان ها راه میروند(انسان نیز یک شی است) یا هواپیماها پرواز میکنند و ماهی ها شنا میکنند. به طور مشابه ما در نرم افزار نیز ما اشیایی میسازیم که رفتاری خاص را انجام میدهند. و ما از آن برنامه انتظار داریم که رفتارهای اشیا را انجام دهند(راه رفتن، پرواز کردن …). پس موقعی که نرم افزار ما اجرا میشود اشیا ما به وجود می آیند.
کلاسها و شیها در سی پلاس پلاس
کلاسها چکیدهای از اطلاعات هستند یا به زبان دیگر یک طرح کلی (Blueprint) از نوع دادها هستند. البته خود کلاس یک نوع داده (data type) نیست اما یک طرح کلی بوده از این که شی ساخته شده از کلاس شامل چه عملیاتهایی(Function) بوده و چه اطلاعاتی در آن ذخیره میشود.
شیها از کلاسها ساخته میشوند و حاوی اطلاعات و توابعی هستند که در کلاس تعریف شده است. ممکن است کمی تعریفهای شی و کلاس گیج کننده باشد اما با دیدن مثالهای این آموزش براحتی به سادگی مطلب پی میبرید.
برای تعریف کلاس در سی پلاس پلاس از فرمت زیر استفاده میشود:
class Box {
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};
همانطور که میبینید در کد بالا کلاسی به نام Box ساختهایم. بعد از آن کلمه کلیدی Public به کار رفته که نشان دهنده سطح دسترسی به متغیر است. Public به بقیه کلاس ها توابع این اجازه میدهد که به متغیرهای کلاس Box دسترسی داشته باشید (البته با داشتن شی این کلاس).
برای تعریف شی در سی پلاس پلاس از فرمت زیر استفاده میشود:
Box Box1; // Declare Box1 of type Box
Box Box2; // Declare Box2 of type Box
در بالا دو شی از جنس Box ساختیم. این اشیا هر کدام درون حافظه، متغیرها و توابع خود را دارند و در حافظه به صورت جداگانه ذخیره میشوند. در آموزشهای آینده بیشتر در این مورد صحبت خواهیم کرد.
مثال شی گرایی در سی پلاس پلاس
در این قسمت برای درک بهتر از مفهوم شی گرایی در سی پلاس پلاس مثالی را ذکر میکنیم. در این مثال کلاسی به نام Person ساخته و یک متغیر person name و یک تابع به نام printname در آن تعریف میکنیم. کد این کلاس به صورت زیر است:
class Person
{
// Access specifier
public:
// Data Members
string personname;
// Member Functions()
void printname()
{
cout << "Person name is: " << personname;
}
};
int main() {
// Declare an object of class Person
Person obj1;
// accessing data member
obj1.personname = "CodeGate";
// accessing member function
obj1.printname();
return 0;
}
در کد بالا ما جندین مطلب جدید آوردهایم:
- چگونه یک تابع را در یک کلاس بنویسیم؟ در بالا متد printname را مشاهده کنید.
- چگونه یک متغیر عمومی را در کلاس تعریف کنیم؟ متغیر personname را در کد بالا مشاهده کنید.
- چگونه از main یک شی از کلاس بسازیم؟ متغیر Obj1 را مشاهده کنید.
- چگونه به متغیر ها و توابع یک شی از تابع main دسترسی داشته باشیم؟ دو خط آخر main را مشاهده کنید.
در آموزشهای بعدی توضیحات کاملتری در مورد شی گرایی در سی پلاس پلاس خواهیم داد.
Download “دانلود سورس شی گرایی در سی پلاس پلاس”
Object-Oriented-in-Cpp-www.codegate.ir_.rar – 388 بار دانلود شده است – 631,00 بایت پسورد: www.codegate.ir