» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
שאלות סיכום
דף ראשי  מתחילים  מבוא ל‑applets  שאלות סיכום גרסה להדפסה

 

שאלות סיכום

 

 

 ש: האם applets נועדו לביצוע באופן עצמאי?

 

 ת: לא. applets נועדו להורדה ולביצוע באופן מקוון תחת שליטתו של דפדפן.

 

 ש: האם נאכפות הגבלות על התפקודיות הכללית של applets, יחסית לאפליקציות?

 

 ת: אמת. כיוון ש‑applets נועדו להורדה ולביצוע באופן מקוון, משתמשים בנוהלי בטיחות מיוחדים, ועל כן התפקודיות של applets מוגבלת במתכוון, במטרה למנוע מ‑applets שהורדו מהרשת לפגוע במחשב או בנתונים שלך.

 

 ש: האם גם אפליקציות וגם applets מחייבים הגדרת מתודת main במחלקה השולטת?

 

 ת: לא. applet אינו מחייב מתודת main.

 

ש: ב‑Java ניתן להגדיר מחלקות חדשות על-ידי הרחבת מחלקות קיימות. זוהי דוגמה לכימוּס, הורשה, או ריבוי צורות? בחר אחד מן הנ"ל.

 

 ת: הורשה

 

 ש: כאשר מחלקה חדשה מרחיבה מחלקה קיימת, האם כל המתודות והמשתנים,
החברים במחלקת-העל המיידית (אך לא בשום אב-קדמון שלה), הופכים לחברים בתת-המחלקה החדשה? 

 

ת: לא. כאשר מחלקה חדשה מרחיבה מחלקה קיימת, כל המתודות והמשתנים,
החברים במחלקת-העל
(וחברים גם בכל האבות-הקדמונים של מחלקת-העל),
הופכים לחברים בתת-המחלקה החדשה.

 

ש: במצב שבו ההתנהגות המוגדרת עבור מתודה במחלקת-העל אינה תואמת לאובייקטים מטיפוס חדש שמוגדרים בתוך תת-מחלקה, ניתן לשכתב את המתודה בתת-המחלקה על מנת שתגרום להתנהגות שונה עבור אובייקטים מטיפוס חדש שלה.
כיצד נקרא תהליך כזה, והאם הוא קרוב יותר לכימוּס, להורשה, או לריבוי צורות?

 

ת: השם המקובל לתהליך כזה הוא דריסת מתודה (להבדיל מהעמסת מתודה).
התוצאה של דריסת מתודה
היא ריבוי צורות בזמן ריצה.

 

ש: כל שנחוץ לדריסת מתודה ב‑Java הוא להשתמש בשם זהה,
לשנות את הצהרת המתודה בתת-המחלקה ואז לספק גוף שונה עבור המתודה: אמת או שקר?

 

ת: שקר. כל שנחוץ לדריסת מתודה הוא להשתמש בהצהרת מתודה זהה (הכוללת את שם המתודה ואת רשימת הארגומנטים) בתת-המחלקה ואז לספק גוף שונה עבור המתודה.

 

ש: האם ב‑Java כל המחלקות נגזרות אוטומטית ממחלקת-על בשם Object?

 

ת: לא. ב‑Java כל המחלקות נגזרות אוטומטית ממחלקת-על בשם Object או מתוך תת-מחלקה ישירה או עקיפה של Object.

במילים אחרות, כל המחלקות ב‑Java יוצרות פירמידה היררכית, שבראשה מחלקת Object.


ש
: האם מחלקת Object מנועה מלהגדיר מתודות, שיורשו לתת-המחלקות הישירות והעקיפות שלה?

ת: לא, מחלקת Object מגדירה מספר מתודות, המורַשות ונעשות זמינות לכל תת-המחלקות הישירות או העקיפות שלה.

ש: האם כדי לכתוב applet עליך להרחיב את מחלקת Object?

 

ת: לא, כדי לכתוב applet עליך להרחיב את מחלקת Applet.

 

ש: כל אימת שאתה מגדיר מחלקה חדשה, האם זו הופכת מתוך ברירת מחדל לתת-מחלקה של Object?

 

ת: כן

 

ש: ב‑Java ניתן להשתמש גם במתודות מורַשות כפי שהן, וגם לשנות את התנהגותן כדי שיתאימו לצורכי הטיפוסים החדשים שלך: אמת או שקר?

 

ת: אמת 

 

ש: האם שינוי של מתודות מורשות כדי שיתאימו לטיפוסים חדשים, שאותם אתה מגדיר,
נקרא העמסת מתודות?

 

ת: לא. תהליך זה נקרא דריסת מתודות. העמסת מתודות הוא דבר אחר לחלוטין.

 

ש: ציין שתי דרכים לביצוע applet של Java.

 

ת: להריץ אותו תחת תוכנית של דפדפן בעל יכולת Java, או להריץ אותו תחת תוכנית AppletViewer, המהווה חלק סטנדרטי ב‑JDK.

 

ש: הרצת applet תחת דפדפן מחייבת שימוש בקובץ HTML, אך אין צורך בקובץ כזה על מנת להשתמש בתוכנית AppletViewer: אמת או שקר?

 

ת: שקר. בשני המקרים הכרחי ליצור קובץ HTML שיכיל תגיות המצביעות על ה‑applet.

 

ש: כתוב applet וקובץ HTML נלווה, אשר מציג את שמך על המסך. אל תשתמש בהוראות import.

 

ת: ה‑applet הוא:

תכנית applet, Name02.java

תוכנית זו מציגה שם.

 

/*Applet program Name02.java
This is a Java applet that displays a name.
*/ 

public class Name02 extends java.applet.Applet {
  //override the paint method
  public void paint(java.awt.Graphics screen) { 
    screen.drawString("Dick Baldwin",50,25);
  }//end overridden paint() method
} //End Name02 class.

The HTML file follows:

<HTML>
<HEAD>
<title>Name Display Applet</title>
</HEAD>
<BODY>
<applet code="Name02.class" width=300 height=100>
</applet>
</BODY>

 

ש: האם הוראות ייבוא מחייבות באופן מוחלט כל תוכנית Java הזקוקה למחלקות, שאינן מיובאות אוטומטית בעת הידור התוכנית?

 

ת: לא. הוראות ייבוא הם אמצעי שנועד להקל על המתכנת ומאפשר להצביע על מחלקות מבלי לספק את השם המאושר של כל מחלקה.

 

ש: האם, כחלופה לייבוא מחלקות בודדות, ניתן לייבא חבילות שלמות תוך שימוש בתו *?

 

ת: כן. ניתן לייבא חבילות שלמות תוך שימוש בהוראות כגון:                  import java.applet.*;

 

ש: האם ייבוא חבילות שלמות יגרום לאפליקציה, או ל‑applet, להתבצע יותר לאט?

 

ת: לא. הדבר עשוי להאט את ההידור, אך לא יהיו לו השלכות בזמן הריצה.

 

ש: כל המחלקות נכללות בתוך חבילות, בין אם זו החבילה שהוגדרה בעת הגדרת המחלקה,
ובין אם זו חבילת ברירת המחדל: אמת או שקר?

 

ת: אמת.

 

ש: האם כל המחלקות בתוך חבילה מסוימת נדרשות להשתמש בשמות מלאים על מנת להצביע זו על זו?

 

ת: לא, כל המחלקות בתוך חבילה יכולות להצביע זו על זו מבלי להשתמש בשמות מלאים.

 

ש: האם כל applet חייב לרשת תת-מחלקה ממחלקת Applet על-ידי הרחבת מחלקת Applet?

 

ת: כן

 

ש: אין צורך להגדיר תת-מחלקה של מחלקת Applet כ‑public: אמת או שקר?

 

ת: שקר. תת-מחלקה של מחלקת Applet חייבת להיות מוגדרת כ‑public.

 

ש: האם, במקום לכלול מתודת main, applets מסוגלים לדרוס אחת מן המתודות הבאות:

init()

start()

paint()

 

ת: כן. applets אינם זקוקים למתודת main. לעומת זה, עליהם לדרוס לפחות אחת מן המתודות הנ"ל.

 

ש: init, start, paint הן כולן מתודות של מחלקת Applet: אמת או שקר?

 

ת: שקר. init ו‑start הן מתודות של מחלקת Applet. paint היא מתודה של מחלקת Component, אשר מורֶשֶת לכמה מחלקות ביניים ובסופו של דבר למחלקת Applet.

 

ש: האם על מנת להוריד applet מאתר ברשת למחשב של הלקוח,
תשתמש בתגית
<APPLETHTML  כדי לציין את מיקום תת-המחלקה של ה‑applet ואת מימדי שטח המסך שיוקצה לו?

 

ת: כן

 

ש: כאשר דפדפן בעל יכולת Java נתקל בתגית <APPLET>, הוא מקצה שטח מסך, מטעין את קובץ תת-המחלקה המצוין למחשב ויוצר אובייקט של תת-המחלקה. לאחר מכן, הוא מפעיל אחת מן המתודות הנ"ל, ובאופן כזה מריץ את ה‑applet. אמת או שקר?

 

ת: אמת 

 

ש: כתוב אפליקציית Java העונה על הדרישות הבאות.
מבלי להיעזר בפתרון שניתן בהמשך, כתוב applet אשר יציג את שמך בתוך מלבן קטן בתוך הדפדפן. כתוב קובץ html מתאים והרץ את ה‑applet מתוך הדפדפן.

 

/*Applet program SampProg03.java from lesson 18
Copyright 1997, R.G.Baldwin
Without reviewing the following solution, write a 
Java applet that will display your name in a small 
rectangle within a browser. Write a corresponding 
html file and run the applet from within a browser.
**********************************************************/
import java.applet.Applet;
import java.awt.Graphics;

public class SampProg03 extends Applet {
  public void paint(Graphics screen) {
    screen.drawString("Dick Baldwin",50,25);
  }
} //End SampProg03 class.
 21-12-03 / 21:18  נוצר ע"י רונית רייכמן  בתאריך 
 תוכנית דוגמא - הקודםהבא - אופרטורים 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 5