<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Interface Implementation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56659.aspx</link><pubDate>Mon, 25 Jan 2010 22:05:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56659</guid><dc:creator>infoCENTER</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56659.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=56659</wfw:commentRss><description>&lt;P&gt;Ευχαριστώ για τις απαντήσεις.&lt;/P&gt;
&lt;P&gt;Την προσέγγιση με το Base Class το οποίο κάνει implement ένα Interface και όλες οι κλάσεις κάνουν inherit από αυτήν την γνωρίζω.&lt;/P&gt;
&lt;P&gt;Υπάρχουν όμως κάποιες περιπτώσεις όπου το να το κάνω αυτό φέρνει αρκετές αλλαγές στο inheritance tree και δεν το επιθυμούσα στην περίπτωση αυτή. Για αυτό και σκέφθηκα να μπορούσε κάποιο interface να γίνει bind με κάποιο implementation. &lt;/P&gt;
&lt;P&gt;Νομίζω όμως πως από τις απαντήσεις δεν γίνεται... &lt;/P&gt;</description></item><item><title>Απ: Interface Implementation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56638.aspx</link><pubDate>Sun, 24 Jan 2010 21:39:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56638</guid><dc:creator>Τάσκος Γιώργος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56638.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=56638</wfw:commentRss><description>Αν κατάλαβα καλά, θέλεις να κάνεις Inherit από μια κλάση και ένα Interface αλλά το Interface να έιναι "σύνδεμενο" σε κάποιο Implementation...&lt;br&gt;Δεν γίνεται κάτι τέτοιο, θα πήγαινε αυτόματα στην λογική του Class Inheritance όπυ υπάρχει ήδη, αλλά όπως είπες δεν έχουμε multi inheritance &lt;br&gt;σε .ΝΕΤ. Το πρώτο πράγμα που μου έρχετε στο μυαλό είναι να κάνεις Implement το Interface στην κλάση που κάνεις Inherit...τώρα αν διάφορες&lt;br&gt;κλάσεις κάνουν inherit απο άλλη κλάση και πρέπει να έχεις και το implementation του Interface όπως λές. φτιάξε μια "Base" class που κάνει&lt;br&gt;implement το Interface και όλες οι κλάσεις που θες να κάνουν inherit από την "Base".&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Interface Implementation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56636.aspx</link><pubDate>Sun, 24 Jan 2010 21:17:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56636</guid><dc:creator>panagiotis_georgiadis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56636.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=56636</wfw:commentRss><description>&lt;P&gt;Αυτό που ζητάς μου φαίνεται είναι η abstract class.&lt;/P&gt;
&lt;P&gt;παράδειγμα γενικό:&lt;/P&gt;
&lt;P&gt;έχεις ένα Interface ISomthing&lt;/P&gt;
&lt;P&gt;έχεις μια abstract class BaseSomething που κάνει Inherit το Interface ISomething, και όπου μπορείς να γράψεις το implementation των methods του ISomething, ορίζοντας της συναρτήσεις αυτές ως virtual, για να μπορείς να τις κάνεις και override.&lt;/P&gt;
&lt;P&gt;Τέλος, έχεις την class MySomething Inherits BaseSomething, όπου οι συναρτήσεις του ISomething υπάρχουν ήδη με το implementation που έχεις γράψει. Αν θες να το προσπεράσεις τις κάνεις override.&lt;/P&gt;
&lt;P&gt;Περισσότερα δε γράφω γιατί είναι βασικά θέματα που είτε έχουν ήδη ερωτηθεί είτε υπάρχουν στο MSDN ή σε κάποιο από τα τρισεκατομμύρια βιβλία για OOP :-)&lt;/P&gt;</description></item><item><title>Απ: Interface Implementation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56628.aspx</link><pubDate>Sun, 24 Jan 2010 04:40:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56628</guid><dc:creator>vaggelis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56628.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=56628</wfw:commentRss><description>&lt;P&gt;Classes μπορουν να κανουν inherit απο Interfaces sth VB.NET. Αυτο που προσπαθεις να κανεις μπορει να γινει για παραδειγμα απο ενα class method που κανει implement ενα Interface Method και μετα καθε αλλη&amp;nbsp; class κανει Inherit απο αυτο το class. Ετσι χρειαζεται να κανεις implement to method μονο μια φορα... Κοιτα το παρακατω κδικο για αναφορα: (console app)&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;Module&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Module1&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Main()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; cls &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Class2 = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Class2&lt;/P&gt;
&lt;P&gt;cls.Method2()&lt;/P&gt;
&lt;P&gt;cls.Method1()&lt;/P&gt;
&lt;P&gt;Console.Read()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;
&lt;P&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Module&lt;/P&gt;
&lt;P&gt;Public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Interface&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Test&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Method1()&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Interface&lt;/P&gt;
&lt;P&gt;Public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Class1&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Implements&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Test&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Method1() &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Implements&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Test.Method1&lt;/P&gt;
&lt;P&gt;Console.WriteLine("My method implemented Method1 from Interface")&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Class&lt;/P&gt;
&lt;P&gt;Public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Class2&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Inherits&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Class1&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Method2()&lt;/P&gt;
&lt;P&gt;Console.WriteLine("Method2 from Class2")&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;
&lt;P&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Class&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description></item><item><title>Interface Implementation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56626.aspx</link><pubDate>Sun, 24 Jan 2010 04:00:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56626</guid><dc:creator>infoCENTER</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56626.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=56626</wfw:commentRss><description>&lt;P&gt;Να περιγράψω λίγο την σκέψη μου.&lt;/P&gt;
&lt;P&gt;Όλοι γνωρίζουμε την χρησιμότητα που έχουν τα Interfaces σε OOP. Δυστυχώς όμως δεν περιέχουν καθόλου implementation. &lt;/P&gt;
&lt;P&gt;Ένα από τα πράγματα που με ενοχλεί στην VB.Net είναι ότι οι classes μπορούν να κάνουν inherit μόνο από μία άλλη class. Οπότε καταλαβένεται πως αν μία κλάση κάνει inherit από μία άλλη και παράλληλα θέλει να υλοποιήσει και ένα interface θα πρέπει να γράψω το implementation του interface. Φανταστείτε λοιπόν το implementation να γράφεται για κάθε κλάση που θέλουμε να υλοποιεί αυτό το interface και ταυτόχρονα να είναι inherited από μία άλλη. &lt;/P&gt;
&lt;P&gt;Σκεφτόμουν λοιπόν αν υπάρχει κάποια εντολή(;)&amp;nbsp;όπου να μπορώ να κάνω implement ένα interface και όταν αναφέρομαι στο interface αυτό η κλάση μου να εκτελεί το implementation που έχω ήδη συνδέση με αυτό το Interface. Ελπίζω να με καταλάβατε. Γίνεται κάτι τέτοιο;&lt;/P&gt;</description></item></channel></rss>