سلام
دوستان اگه ممکنه در مورد مفهوم اینترفیس منو راهنمایی کنید
در ضمن overloading با چندشکلی تفاوت داره اگه داره چی هست ؟
سلام
دوستان اگه ممکنه در مورد مفهوم اینترفیس منو راهنمایی کنید
در ضمن overloading با چندشکلی تفاوت داره اگه داره چی هست ؟
برنامه ها از سطوح مختلفی از نظر برنامه نویسی تشکیل شده اند که در سطح آخر که شامل
شکل ظاهری برنامه است و توسط کاربران استفاده میشه در اصطلاح USER INTERFACE گفته میشه.
Interface یک تعریف است که ما از یک کلاس انجام می دهیم (تعریف نه پیاده سازی ) تا کلاسهایی که از این این Interface ارث می برند این قواعد را رعایت کنند.
مثلا این کلاس بایستی چه متدهایی داشته باشد و مثلا این متد ها چه آرگومانهایی داشته باشند .
PolyMorphism یا چند ریختی تا آنجایی که من می دانم در واقع مفهوم استفاده یک متد پیاد سازی شده ی کلاس پدر از طریق آبجکت های فرزندان کلاسهای ارث برده شده از این کلاس می باشد.
ولی Overloading در واقع تعریف یک متد با امضاهای متفاوت می باشد . مثلا یک متد با نام A یک رشته را به عنوان ورودی بگیرد و دیگری هم با نام A یک Integer را به عنوان آرگومان بگیرد
موفق باشید
خیلی ممنون
اما می شه یکم بیشتر توضیح بدید
من هنوز نفهمیدم اینترفیس چیه
در ضمن تو چند جا دیدم که این تعریفی که شما از overloading کردید رو برای چند شکلی بکار برده
من که حسابی گیج شدم
در مورد چند ریختی
Public Class Animal
Private Sub A()
MsgBox(“From Animal Class”)
End Sub
End Class
Public Class Cow Inherits Animal
Private Sub B()
MsgBox(“From Cow Class”)
End Sub
End Class
…………..
Dim k as new Animal()
Dim h as new Cow()
k.A() --- Correct
h.A() --- Correct
h.B() --- Correct
k.B() --- Worst
=================
OverLoadin
Public Class Person
Public name , Family as String
.
.
.
Public Sub New()
Name = “John”
Family=”Smith”
End Sub
Public Sub New(_name as String)
Name=_name
Family=”Smith”
End Sub
Public Sub New(_name as String,_Family as String )
Name=_name
Family=_Family
End Sub
.
.
.
End Class
Interface یعنی رابط حالا رابط بین کاربر (که معمولا استفاده میشه) و یا رابط با یک برنامه دیگر یا سرور و یا هر چیز دیگه ای.
مثلا User interface یا رابط کاربری، همین فرمهایی که شما طراحی می کنید تا کاربر با استفاده از اون (از Button, TextBox و ....) با برنامه و کدهای شما ارتباط برقرار کنه، درخواستش رو بگه و شما پیام مناسب رو از طریق اون به کاربر بدید. به همین نسبت interface های دیگه رو خودت برو جلو!!!
سپاس گذارم
اما:
این کدی که شما (azmoodeh vbmenu_register("postmenu_344804", true); ) در مورد چند ریختی نوشتید با ارث بری چه تفاوت هایی داره؟
ببین شما در اور لودینگ میای مثلا برای 1 تابع یا رویه ایعمال میکنی
یعنی چی؟ یعنی اینکه 2 تا کلاس که اسمهاشون مثل همه رو درست میکنی ولی آرگمانهاشون فرق دارا
حالا اگر اونارو فراخوانی کنی بسته به پارامترهایی که میفرستی تابه مورد نظر عمل میکنه
GUI:Graphic User Interface
همون ظاهر فرمته
مرسی
با مفهوم اورلودینگ آشنا شدم
حالا سوالم اینه که با توجه یه کد زیر
Public Class Animal
Private Sub A()
MsgBox(“From Animal Class”)
End Sub
End Class
Public Class Cow Inherits Animal
Private Sub B()
MsgBox(“From Cow Class”)
End Sub
End Class
…………..
Dim k as new Animal()
Dim h as new Cow()
k.A() --- Correct
h.A() --- Correct
h.B() --- Correct
k.B() --- Worst
چه فرقی بین چندریختی با وراثت وجود داره؟
ببین کد رو ول کن مفهوم رو بگیر
توی اینهریتنس(وراثت) زیر کلاس ها عین اون داده ها و متد های کلاس پایه رو به ارث میبرن ولی در پلی مرفیسم نهادی مثل متغیر.تابع.شی معانی یا کاربرد های مختلفی دارد
اینم بگم خیالت ر احت شه
توابع هم نام (Overloading) نوعی چند ریختی هستند (توی تعریف بالا قرمز رو ببین)
منبع کتاب جعفر نژاد شک نکن