مرجع بهترین های اینترنت

دانلود تمامی آنچه نیاز دارید

مرجع بهترین های اینترنت

دانلود تمامی آنچه نیاز دارید

پاور پوینت (اسلاید) اشیاء و کلاس ها

پاور پوینت (اسلاید) اشیاء و کلاس ها

پاور پوینت (اسلاید) اشیاء و کلاس ها

پاور پوینت (اسلاید) اشیاء و کلاس ها با سلام

فایل اشیاء و کلاس ها یک پاورپوینت بسیار عالی در 63 اسلاید می باشد این PowerPoint بر اساس استاندارد های اصلی طراحی پاورپوینت آماده و تنظیم شده است؛ این فایل دارای طراحی بسیار عالی و چشم نواز می باشد.
شما با استفاده ازاین پاورپوینت میتوانید یک ارائه بسیارعالی و با شکوهی داشته باشید و همه حاضرین با اشتیاق به مطالب شما گوش خواهند داد. 

لطفا نگران مطالب داخل پاورپوینت نباشید، مطالب داخل اسلاید ها بسیار ساده و قابل درک برای شما می باشد، ما عالی بودن این فایل رو تضمین می کنیم. 



محتواب برخی از اسلاید ها : 


توجه داشته باشید هرگونه بهم ریختگی در متن زیر در اثر کپی کردن از پاورپوینت می باشد و در فایل پاورپوینت اصلی هیچ اشکال و به هم ریختگی وجود ندارد

4

کلاس ، الگویی برای اشیاءی است که ویژگیهای مشترکی دارند و رفتارهای یکسانی از خود نشان می‌دهند.شیء نمونه خاصی از کلاس است.

5

انتزاع داده ها (data abstraction)فقط ویژگیهای اساسی انواع بدن ارائه اطلاعات جزئی ، قابل نمایش است. کلاسها از مفهوم نوع داده انتزاعی پیروی می کند

6

کلاس ها واشیاء: بسته بندیدر برنامه نویسی شی گرا هر شی از یک سری متغیر های عضو به نام صفت و یک سری توابع که به توابع رفتار(متد) معروف‌اند تشکیل می‌شود

باید توجه داشت که برای اعلان کلاس از کلمه کلیدیclass استفاده می‌شود

7

خصوصی و عمومی: پنهان سازیبرخی ویژگیها و یا پیچیدگیهای یک شی باید از دیگر اشیا پنهان بماند و هر شی تنها یک ظاهری (interface) که برای دیگر اشیا لازم است را به نمایش میگذارد 

یک صفت و یا یک رفتار میتواند درون شی پنهان باشد و دیگر اشیا از آن بی اطلاع باشند

مکانیسم اولیه پنهان سازی داده ها قرار دادن آن در یک کلاس و خصوصی سازی آن است

داده ها یا توابع خصوصی را تنها میتوان از داخل کلاس در دسترس قرار دارد از سوی دیگر داده ها یا توابع عمومی از خارج کلاس در دسترس قرار میگیرند

8

توابع عضومعمولا توابع به صورت عمومی وداده ها به صورت خصوصی تعریف می‌شوند از این رو از داده ها فقط در توابع عضو کلاس استفاده می‌شوند ولی از توابع عضو درخارج از کلاس هم می توان استفاده کرد
باید توجه داشت که در بعضی مواقع مجبور می شویم از توابع خصوصی و داده های عمومی استفاده کنیم
تابع عضو را می توان :
1. در داخل کلاس اعلان کرد ودر همان جا پیاده سازی کنیم (در صورتی که تعریف تابع کوتاه باشد)
2. در داخل کلاس اعلان کرد ودر خارج کلاس پیاده سازی کنیم

9

تعریف کلاس در c ++برای تعریف کلاس از کلمه کلیدی class و ساختاری به صورت زیر استفاده می شود:
class نام کلاس {
public:
داده ها و توابع عمومی
private:
داده ها و توابع اختصاصی
protected:
داده ها ی حفاظت شده
};

10

نامگذاری کلاس همانند متغیرها انجام میشود.
نام کلاس باید بیانگر موجودیت باشد و حتی الامکان از اسامی بی ربط استفاده نشود

توابع یا داده هایی که بعد از تعریف کلاس یا بعد از کلمه کلیدی private اعلان می‌شوند ، برای کلاس اختصاصی خواهند بود و فقط و فقط اجزای همان کلاس حق استفاده و دسترسی به آنها را دارند.

داده ها و توابعی که بعد از کلمه کلیدی public تعریف می‌شوند به صورت عمومی خواهند بود و هر قسمت دیگر برنامه می تواند به آنها دسترسی داشته باشد.

توابع و داده هایی که پس از کلمه کلیدی protected تعریف می‌شوند محافظت شده هستند و در وراثت مورد استفاده قرار می گیرند.توضیح نحوه تعریف کلاس

11

برای تعریف شی از یک کلاس در هر جایی از برنامه به صورت زیر عمل کنید. 
نام شی ء نام کلاس ;
تعریف اشیاء همانند تعریف متغیرهاست 
تعریف یک شی از کلاس

12

کلاس سادهاین برنامه شامل یک کلاس و دو شیء از آن کلاس است
#include 
class smallobj
{
private:
int somedata;
public:
void setdata(int d)
{somedata=d;}
void showdata()
{cout

13

استفاده از کلاس بعنوان یک نوع داده‌ایint main()
{
smallobj s1,s2;
s1.setdata(1006);
s2.setdata(876);
s1.showdata();
s2.showdata();
return 0;
}

14

توضیح برنامه کلاس smallobj که در این برنامه اعلان شده حاوی یک عنصر داده‌ای و دو تابع عضو می‌باشد که این دو تابع با عضو داده ای داخلی کار میکنند و از خارج کلاس در دسترسی هستند
تابع عضو اول به عضو داده ای یک مقدار نسبت میدهد و
تابع عضو دوم این مقدار را در خروجی نمایش میدهد

15

استفاده از کلاس هاپس از اعلان کلاس میتوان در داخل تابع main() از این کلاس ها برای تعریف شیء استفاده کرد
مثال:smallobj s1 , s2 ; نام کلاستعریف یک شیء شبیه تعریف یک متغیر از هر نوع داده ای است که برای حافظه گرفته می شود 
چون شیء در واقع نمونه ای از یک کلاس است به تعریف شی نمونه سازی شیء نیز می گویند (توجه داشته باشید که اتلاقهای فوق در هنگام پیاده سازی معتبر هستند)

16

احضار تابع های عضودستور زیر تابع عضو setdata() را احضار می کند:
s1.setdata(1006)
از آنجا که تابع setdata() یک تابع عضو از کلاس می‌باشد باید در ارتباط با یک شیء از این کلاس (s1) احضار شودپس نوشتن دستور زیر باعث تولید پیغام خطای کاربر می شود:
setdata(1006)
برای استفاده از یک تابع عضو عملگر نقطه نام شیء و تابع عضو را به هم وصل میکند

17


توابع عضو کلاس حتماً باید برای یک شیءساخته شده فراخوانی شوند

class CCircle
{
private:
int Xco,Yco;
int Radius;
COLORREF Fillcolor;
public:
void set(int x,int y,int r, COLORREF fc);
void draw(CDC *pdc);
};

18مثالدر این مثال یک کلاس که مربوط به شیء دایره است را مورد بررسی قرار میدهیم.تعریف کلاس به همراه متغیرهای عضو 
و بیان نمونه اولیه توابع عضو

19

ادامه مثالvoid CCircle::set(int x,int y,int r, COLORREF fc)
{
Xco=x;
Yco=y;
Radius=r;
Fillcolor=fc;
}
void CCircle::draw(CDC *pdc)
{
CBrush mBrush;
mBrush.CreateSolidBrush(Fillcolor);
CBrush *OldBrush=pdc->SelectObject(&mBrush);
pdc->Ellipse(Xco-Radius,Yco-Radius,Xco+Radius,Yco+Radius);
pdc->SelectObject(OldBrush);
}پیاده سازی توابع عضوبیان نام کلاساپراتور محدوده کلاستابع برای مقدار دهی به مقادیر عضو
استفاده شده است

20

ادامه مثالvoid CTestAppDlg::OnBnClickedBtndrawcircle()
{
CCircle c1,c2;
c1.set(40,40,30,RGB(255,0,0));
c2.set(100,100,50,RGB(0,0,255));

CDC *pdc=GetDC();
c1.draw(pdc);
c2.draw(pdc);
ReleaseDC(pdc);
}

خروجی برنامه

21

توضیح

در برنامه قبل با دو نوع داده ای جدید آشنا شدیم:
COLORREF
CDC
نوع داده ای اول (COLORREF) برای نگهداری رنگ است. رنگها در ویندوز از ترکیب سه رنگ اصلی قرمز، سبز و آبی تولید میشوند.
ماکرو RGB، سه رنگ قرمز، سبز و آبی را با هم ترکیب میکند. میزان هر رنگ مقداری بین 0 تا 255 دارد.
RGB(255,0,0) رنگ قرمز است.
نوع داده ای دوم (CDC) کلاسی است که توابع مربوط به عملیات نقاشی روی فرمها در ویندوز را انجام میدهد. 22

23

class employee {
char name[20]; // private by default
public : 
void putname (char * s); //publics
void getname (char * s);
void putage (double w);
double getage ();
private : 
double Age; //private again
} em1 , em2 ; 
employee em3, em4 ;
void employee : : putname ()
{
. . . . . . . . .
}
void employee : : putname ()
{
. . . . . . . . .
}
مثالی دیگر از تعریف کلاس

24

تمرین: برنامه ای که یک شی دایره در آن تعریف شود. شعاع دایره را از ورودی خوانده و مساحت آن را محاسبه کرده و در خروجی ببرد. (تمام اعضای داده ای اختصاصی اند)#include 
#include 
class circle{
int radius;
public:
void get_radius();
void print();
};
void circle : : get_radius()
{
cout<<“Enter radius”;
cin>> radius;
}

25

void circle : : print ()
{
float s;
s = radius * radius * 3.14;
cout << “ Area = ” << s;
}
/////////////////////////////////
/////////////////////////////////
int main ()
{
circle c1;
c1.get_radius();
c1.print();
getch();
return 0;
}</p>

تمرین 2:

بخش 1:
یک کلاس برای مشخصات درس تعریف نمایید
صفات: نام درس، تعداد واحد و نمره
رفتارها: قراردادن نام برای درس، قرار دادن تعداد واحد برای درس، قرار دادن نمره برای درس و توابعی برای برگرداندن مقادیر نسبت داده شده
دیگر رفتارها: محاسبه نمره در واحد و برگرداندن آن26

ادامه تمرین

بخش 2: 
برای تست کلاس نوشته شده با نام Clesson درون تابع main اشیا مناسب از نوع کلاس را تعریف نموده و متغیرهای عضو آنرا مقداردهی نمایید و مقادیر نسبت داده شده را نمایش دهید.27

ادامه تمرین

بخش 3: 
یک کلاس با نام Cstudent تعریف نمایید
صفات: نام دانشجو، شماره دانشجویی، سه درس در نیمسال (از نوع Clesson که قبلاً طراحی شده)
رفتارها: توابع مورد نیاز جهت مقدار دهی به نام و شماره دانشجویی و برگرداندن این مقادیر
دیگر رفتارها: تعیین نام برای هر یک از دروس دانشجو و نمره برای آن درس
دیگر رفتارها: محاسبه معدل با توجه به نمره دانشجو در دروس.28

پروژه معرفی شده را بعنوان تمرین درسی انجام دهید

29(زمان تحویل جلسه آینده)

30

سازنده ها (Constructor)

31

سازنده ها (constructors)اغلب اوقات میخواهیم هنگام ایجاد شیء (تعریف متغیر از یک کلاس) آنرا مقداردهی اولیه کنیم (متغیرهای عضو آن را مقداردهی کنیم) و یا عملیات خاصی را انجام دهیم.
تمامی کلاس ها تابعی به نام سازنده دارند که بطور خودکار هنگام تعریف شی از آن، کلاس اجرا میشود.
یکی از وظایف سازنده، مقدار دهی اولیه به متغیرهای عضو شی است. 
توابع سازنده هر کلاس، هم نام کلاس هستند.
یک کلاس میتواند بیش از یک سازنده داشته باشد. که براساس قوانین چندریختی، هنگام ساخت شی، مشخص میشود که از کدام سازنده باید استفاده شود.

32

سازنده ها و دادن مقدار اولیه به اشیاء برای پی بردن به مفهوم سازنده ها (constructor) روش مقدار دادن به یک متغیر را به یاد آورید. دستور زیر ضمن تعریف متغیر y از نوع int مقدار اولیه آن را صفر تعیین می کند. 
int y = 0 ;

کلاس می تواند تابع عضو ویژه ای به نام سازنده داشته باشد ولی این تابع هیچ مقداری را نمیتواند برگرداند و حتی از نوع void هم نیست. سازنده ، همنام با کلاسی است که در آن تعریف می شود و هنگام ایجاد اشیایی از آن کلاس به طور خودکار اجرا می شود.
class myClass {
int a;
int b;
public:
myClass();
void show();
};

33

myClass : : myClass ( )
{
a = 0;
b = 10;
}
void myClass : : show ( )
{
cout << “a = ” << a ;
cout << “ b = ” << b ;
}
int main ()
{
myClass ob1;
ob1.show();
return 1;
}
خروجی :
a=0 b=10 </p>

34

سازنده ها (ادامه...)
تمامی کلاسها دارای سازنده هستند و اگر ما برای یک کلاس سازنده ننویسیم کامپایلر از سازنده پیش فرض (Default Constructor) استفاده میکند
فراخوانی سازنده توسط کامپایلر هنگام تعریف متغیر بصورت خودکار انجام میشود

35

سازنده هایی با پارامتر توابع سازنده می توانند پارامتر داشته باشند. معمولاً این پارامترها برای مقدار اولیه دادن به متغیر های عضو شیء به کار می روند. مثال زیر را در نظر بگیرید
class myClass {
int x;
int y;
public:
myClass ( int i, int j);
void show();
};
myClass : : myClass (int i, int j )
{
x = i ;
y = j ;
}

36

void myClass : : show ( )
{
cout

37

مثال: یک سازندهروش اول:
(فراخوانی سازنده برای cnt ) 
class counter 
{
private:
int cnt;
public:
counter():cnt(0)
{
}
};روش دوم: (دستور انتساب)

class counter 
{
private:
int cnt;
public:
counter() {
cnt=0;
}
};نتیجه عملی که انجام میشود در هر دو روش یکسان است
پس از تعریف یک شی از کلاس counter مقدار cnt بصورت خودکار برابر صفر خواهد شد

38

مثال: یک سازندهدر مثال circle که در قبل گفته شد می توان به جای تابع set() از یک سازنده استفاده کنیم:
circle(int x ,int y,int r,color fc) : xco(x) , yco(y) , radius(r) , fillcolor(fc) { }

باید توجه داشت که توابع سازنده هیچ نوع برگشتی ندارند زیرا سازنده به طور اتوماتیک توسط سیستم احضار می شود

تمرین 3:

یک کلاس برای نگهداری دانشجویان طراحی کنید با نام (CStList) که ظرفیت نگهداری شماره دانشجویی 20 دانشجو را داشته باشد.
صفتها: 
1- ارایه ای از نوع صحیح به طول 20 برای نگهداری شماره دانشجویی
2- تعداد دانشجویانی که در حال حاضر در لیست هستند
رفتارها:
افزودن یک دانشجو به لیست: 
پارامتر ورودی یک عدد صحیح (شماره دانشجویی) 
مقدار خروجی تابع اگر بتواند اضافه کند 1 و در غیر اینصورت صفر بر میگرداند
توجه: در فراخوانی این تابع در صورت موفقیت آمیز بودن باید به تعداد دانشجویان لیست یکی اضافه شود
حذف یک دانشجو از لیست:
ورودی: شماره دانشجویی
خروجی: اگر فرد در لیست باشد آنرا حذف و عدد 1 برمیگرداند و در غیر اینصورت صفر برمیگرداند
توجه: در فراخوانی این تابع در صورت موفقیت آمیز بودن باید به تعداد دانشجویان لیست یکی کم شود
نمایش لیست
برگرداندن تعداد دانشجویان در لیست39(زمان تحویل جلسه آینده)

40

سازنده ها می توانند حاوی آرگومانهای پیش فرض باشند.
با تعیین آرگومانهای پیش فرض برای سازنده حتی در صورت عدم مقدار دهی در فراخوانی سازنده، این اطمینان وجود دارد که اشیاء مقداردهی اولیه شده اند.
سازنده ای که برنامه نویس ایجاد میکند و تمام آرگومانهای آن را به طور پیش فرض انتخاب کرده است (یا به هیچ آرگومانی نیاز ندارد )، سازنده پیش فرض نام دارد.
هر کلاس فقط یک سازنده پیش فرض می تواند داشته باشد.آرگومانهای پیش فرض در سازنده ها لطفا در خرید این فایل تردید نکنید 
روی دکمه پرداخت در زیر کلیک کنید