क्या आप मुझे अमूर्त वर्ग बनाम विरासत उपयोग की लगभग अत्यधिक सरल समझ दे सकते हैं और मेरी मदद कर सकते हैं ताकि मैं वास्तव में अवधारणा को समझ सकूं और कैसे कार्यान्वित कर सकूं? मेरे पास एक प्रोजेक्ट है जिसे मैं पूरा करने की कोशिश कर रहा हूं, और कार्यान्वित करने के तरीके पर खो गया हूं। मैं अपने प्रोफेसर से बात कर रहा हूं और बहुत कुछ कह रहा हूं कि अगर मैं इसे समझ नहीं पा रहा हूं, तो शायद मैं कोर्स के लिए तैयार नहीं हूं। मैंने पूर्व शर्त पाठ्यक्रमों का अधिग्रहण किया है, और इन अवधारणाओं को समझने में अभी भी समस्या है।क्या आप व्यावहारिक उदाहरण में उपयोग अमूर्त वर्ग बनाम इंटरफेस में समझने में मेरी मदद कर सकते हैं?
स्पष्टीकरण के लिए, जैसा कि मैंने अभी तक किया है, परियोजना नीचे है। मेरे पास अभी तक भरने वाले कुत्ते/बिल्ली वर्ग आदि नहीं हैं। क्या आप मुझे एक सूचक दे सकते हैं। मैं किसी को भी "जवाब" देने के लिए नहीं कह रहा हूं। मैं बस इस पर जाने के लिए खो गया हूँ। मैं ऑनलाइन पाठ्यक्रम लेता हूं और मेरे साथ उनके संचार प्रयास परेशान कर रहे हैं। मैं बस अपने सभी अन्य पाठ्यक्रमों के साथ 4.0 के साथ समाप्त हुआ, इसलिए मैं प्रयास करने के लिए तैयार हूं, लेकिन मैं इन अवधारणाओं की समझ में और कैसे उन्हें व्यावहारिक रूप से लागू करने के लिए खो गया हूं।
कोई टिप्पणी या मदद जो मुझे इस परियोजना में आगे बढ़ने देगी?
क्या मैं लागू करने के लिए इस प्रकार है कर रहा हूँ के विवरण:
अवलोकन:
इस अभ्यास का उद्देश्य इंटरफेस, विरासत, सार वर्गों के उपयोग के प्रदर्शन करने के लिए है, और पॉलिमॉर्फिज्म। आपका काम आपूर्ति कार्यक्रम खोल लेना है और उचित कक्षाओं और संबंधित वर्ग सदस्यों/विधियों को प्रोग्राम सही तरीके से कार्य करने के लिए जोड़ें। आप किसी भी कोड पर दिए गए कोड में परिवर्तन नहीं कर सकते हैं, तो आप केवल लिख सकते हैं जो आप लिखते हैं। यद्यपि प्रोग्राम प्रोग्राम प्राप्त करने के कई तरीके हैं, आपको इंटरफ़ेस,
विरासत, सार कक्षाएं, और पॉलिमॉर्फिज्म का उपयोग करना चाहिए। दोबारा, स्पष्ट करने के लिए, आप आपूर्ति किए गए कोड में जोड़ सकते हैं लेकिन आप में से किसी भी को बदल या हटा नहीं सकते हैं। प्रदान किया गया कोड बहुत कम अतिरिक्त कोड के साथ काम करेगा और अभ्यास के की आवश्यकताओं को पूरा करेगा।आप सफलतापूर्वक काम को पूरा करते हैं, तो अपने कार्यक्रम उत्पादन निम्नलिखित बयानों चलाना चाहिए जब:
मेरा नाम स्पॉट है, मैं एक कुत्ता
मेरा नाम फेलिक्स है, मैं एक बिल्ली कर रहा हूँ कर रहा हूँ
आवश्यकताएँ:
1) आप एक सार आधार वर्ग 'पशु' नामक होना आवश्यक है जहाँ से कुत्ता और बिल्ली ग लेस व्युत्पन्न
2) पशु आधार वर्ग इंटरफेस 'IAnimal' से प्राप्त करना चाहिए, यह केवल वर्ग कि IAnimal से निकाले जाते हैं चाहिए।
3) के बाद से सभी जानवरों को एक नाम है और एक नाम एक विशेषता है जो एक कुत्ते या बिल्ली, पशु
आधार वर्ग होना चाहिए जहां नाम संग्रहीत किया जाता है और जहां के लिए विशिष्ट है नहीं है WhatIsMyName प्राप्त-संपत्ति लागू की गई है।
4) आपको एक कुत्ता और बिल्ली वर्ग बनाना होगा जो केवल पशु आधार वर्ग से प्राप्त होगा।
5) कुत्ते और बिल्ली वर्गों को व्हाटएएमआई प्राप्त संपत्ति को लागू करना चाहिए और उचित स्ट्रिंग मान वापस कर देना चाहिए।
कोड आप नहीं बदल सकते हैं:
using System;
namespace IT274_U2
{
public interface IAnimal
{
string WhatAmI { get; }
string WhatIsMyName { get; }
}
public class TesterClass
{
public static void DescribeAnimal(IAnimal animal)
{
Console.WriteLine("My name is {0}, I am a {1}", animal.WhatIsMyName, animal.WhatAmI);
}
static void Main(string[] args)
{
Dog mydog = new Dog("Spot");
Cat mycat = new Cat("Felix");
DescribeAnimal(mydog);
DescribeAnimal(mycat);
}
}
}
///////////////////////
कोड मैं '
using System;
namespace IT274_U2
{
public interface IAnimal
{
string WhatAmI { get; }
string WhatIsMyName { get; }
}
public class Dog
{
public abstract string WhatAmI
{
get;
set;
}
}//end public class Dog
public class Cat
{
public abstract string WhatIsMyName
{
get;
set;
}
}//end public class Cat
public abstract class Animal : IAnimal
{
// fields
protected string Dog;
protected string Cat;
// implement WhatIsMyName
//properties
public abstract String Dog
{
get;
set;
}
public abstract String Cat
{
get;
set;
}
public abstract string WhatIsMyName();
} //end public abstract class Animal
public class TesterClass
{
public static void DescribeAnimal(IAnimal animal)
{
Console.WriteLine("My name is {0}, I am a {1}", animal.WhatIsMyName, animal.WhatAmI);
}
static void Main(string[] args)
{
Dog mydog = new Dog("Spot");
Cat mycat = new Cat("Felix");
DescribeAnimal(mydog);
DescribeAnimal(mycat);
}
}
}
क्या आपके कोड में कोड नमूना है जिसे आपको संशोधित करने की अनुमति नहीं है? –
@ माइक - बस मैं पूछने वाला था :) –
प्रोफेसर द्वारा दिए गए कोड और मैंने जो कोड लिखा है उसके साथ ऊपर दिए गए प्रश्न को अद्यतन किया। इसके लिए धन्यवाद, मैंने भी विचार नहीं किया। उसने मुझे बताया कि मेरे पास सामान्य रूपरेखा ठीक है, लेकिन फिर वह मुझे सत्र से बहुत जल्दी धक्का दे रहा था, इसलिए केवल संक्षेप में देखा। – SheldonH