פורסם 2007 בפברואר 2018 שנים בגדול, ממשק (interface) זה מחלקה ללא מימוש. בניגוד לשפות כמו C++ שיש להם מנגנון של ירושה מרובה (די מורכב האמת), בשפות כמו Java ו C# הלכו על האפשרות של ירושה יחידה (אתה יכול לרשת ממחלקה אחת בלבד, במקום מכמה), אבל אתה יכול לממש הרבה ממשקים.הממשק הוא חוזה לגבי איזה פונקצינליות המחלקה שלך מתחייבת לספק, הוא אומר מה, ולא איך. אתה מגדיר בו רשימת מכולת של Prototypes של פונקציות ודברים אחרים שהמחלקה שלך תספק.היתרון פה מבחינת פולימופיזם, הוא שאתה יכול להגדיר פונקציות שהקלט / פלט שלהם הוא הממשק הנ"ל, ואז תוכל להעביר דרכם כל מחלקה אמיתית שמתחייבת לממש את הממשק הזה.
פורסם 2007 בפברואר 2018 שנים מחבר בגדול, ממשק (interface) זה מחלקה ללא מימוש. בניגוד לשפות כמו C++ שיש להם מנגנון של ירושה מרובה (די מורכב האמת), בשפות כמו Java ו C# הלכו על האפשרות של ירושה יחידה (אתה יכול לרשת ממחלקה אחת בלבד, במקום מכמה), אבל אתה יכול לממש הרבה ממשקים.הממשק הוא חוזה לגבי איזה פונקצינליות המחלקה שלך מתחייבת לספק, הוא אומר מה, ולא איך. אתה מגדיר בו רשימת מכולת של Prototypes של פונקציות ודברים אחרים שהמחלקה שלך תספק.את זה אני יודעהיתרון פה מבחינת פולימופיזם, הוא שאתה יכול להגדיר פונקציות שהקלט / פלט שלהם הוא הממשק הנ"ל, ואז תוכל להעביר דרכם כל מחלקה אמיתית שמתחייבת לממש את הממשק הזה. דוגמא של קוד תעזור לי מאוד. תודה
פורסם 2007 בפברואר 2018 שנים אם אתה יודע, אז למה אתה שואל (ותרשום בכותרת של הדיון לפחות C# interface)....ניסית לחפש באינטרנט c# interface examples או c# interface tutorialsכי זה נושא די בסיסי שיש עליו ה-ר-ב-ה חומר עם ה-ר-ב-ה דוגמאות...
פורסם 2007 בפברואר 2018 שנים למשל תחשוב על איזשהו תסריט לפיו אתה צריך לנהל התקשרויות למסדי נתונים שוניםOleDbConnection משמש להתחברות ל- AccessSqlConnection משמש להתחברות ל- SQL ServerOracleConnection משמש להתחברות למסד Oracleבקטעים מסויימים בקוד שלך תעדיף להשתמש בקלאס ג'נרי יותר בשםSystem.Data.Common.DbConnection ולכתוב ביטוי כמוSystem.Data.Common.DbConnection cn1 = new System.Data.SqlClient.SqlConnection();כי אז בהמשך התכנית שלך אתה עובד מול קלאס אב ג'נרי שעבורך כמתכנת יהיה לך שקוף אם בזמן ריצה אתה מחובר ל-Access , Oracle או SQL Serverואז אם לדוגמא התכנית שלך צריכה לתמוך בעתיד בעוד מסד נתונים חדש למשל של MySQLייתכן שתצטרך להוסיף רק שורה אחת לאתחול ההתחברות לאותו מסד , אבל יתר הקוד שלך לא ישתנה וישאר זההכמובן בתנאי שהיצרן של ה- מסד החדש , נותן לך dll ש-ממש את הקלאס האב DbConnectionהדוגמא שנתתי לך לא 100% מושלמת לשאלה שלך , כי DbConnection הוא למעשה קלאס אבסטרקטי אשר מממש כמה ממשקים שאחד מהם הוא IDbConnection וכמו שנאשר כאן שפת C# לא מאפשרת ירושה מרובה , ולכן מייקרוסופט יצרה קלאס אשר מממש עבורך כמה ממשקים וכך הקלאסים הספציפיים יותר שיורשים את ה - DbConnection מממשים רק את קטעי הקוד שהם ייחודיים ל-מסד הנתונים הספציפי שעבורים הם נבנו ויתר הקוד המשותף לכולם מקומפל בקלאס האבא
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.