چندین شی از یک کلاس
سلام
اگر ما چندین شی از یک کلاس داشته باشیم ، آیا متدهای این اشیا باید مشترک باشن؟ و اگر بخواهیم چندین شی را در نمودار کلاس uml قرار دهیم ، به چه شکل می توانیم این کار را بکنیم؟
4 پاسخ
نمیدونم من متوجه نشدم یا اینکه سوالتون یه جوری هست
ببینید ما یه کلاس داریم توش یه عالمه متد داریم یه عالمه هم فیلد داریم و خرت و پرت های دیگه حالا میاییم از این کلاس یه شی میسازیم وقتی که ساختیم این شی میتونه به همه اون یه عالمه متد دسترسی داشته باشه حالا با هر کدوم از این متد ها و فیلد ها میتونیم کار کنیم و بعد یه شی دیگه میسازیم داستان مثل قبله همچنان به همه اون خرت و پرت ها دسترسی داریم
البته این دسترسی ها بستگی داره کلاس از چه سطح دسترسی برخوردار باشه.
اگر درست متوجه نشدم راهنمایی بیشتر راجع به سوالتون انجام بدید.
تشکر میکنم از راهنماییهاتون
ببینید من تمرکزم روی uml است . وقتی من در نمودار کلاس ، یک کلاس به وجود می آورم ، برایش یک سری متد و فیلد و ...... تعریف می کنم . در واقع همه اینها رو برای یک instance از یک کلاس تعریف می کنم دیگه درسته؟ حالا فرض می کنیم یک کلاس چندین شی دارد که باید در یک شکل دیگر که درواقع همان نام کلاس و شی دیگری با نام دیگری از آن کلاس است باید نشان دهم دیگه؟درسته؟ (لطفا هرجای حرفم غلطه بگید) آیا متدها و فیلدهای این شی دوم نیز باید با فیلدها و متدهای شی اولم ، که هر دو شی از یک کلاس هستند باید یکسان باشند ؟
سلام. یک شی می تواند با همه یا برخی از ویژگی ها یا متد های کلاس کار کند. ممکن است در کلاس متدی Overload شده باشد. یعنی یک متد با ورودی های مختلف. مثلا یک متد داریم که سه بار تعریف شده و در هر بار ورودی های مختلف و پیاده سازی های متفاوت دارد. اشیایی که از کلاس تعریف و ایجاد می شوند می توانند این متد را با ورودی های مختلف فراخوانی کنند. هر شی می تواند با تمام متد ها و ویژگی های کلاس کار کند. اما منظور شما از "آیا متدهای این اشیا باید مشترک باشن؟" چیه؟
خانم مهندس من سوادم به این جملات نمیخوره شرمنده.
تا جایی که من میدونم شما از یک کلاس میتونید N تا شی بسازی نام دیگه شی (Instance , object ,نمونه) هست از یک کلاس N تا شی بسازی یعنی چی؟ من یه مثال با سی شارپ تایپ کردم:
using System; namespace ConsoleApplication1 { public class itpro { public int Age = 3; //this is Fild public string Name = "www.tosinso.com"; // this is Fild public void showinfo() //this is method { Console.WriteLine("This is a best website..."); } public void showinformation() //this is method { Age += 1; Console.WriteLine("itpro is {0} years old",Age); } } class Program { static void Main(string[] args) { itpro it = new itpro(); // this is a Object or instance itpro itman = new itpro(); // this is a Object or instance //خانم احمدی همونطور که میبینید از این نمونه ها یا شی ها میتونیم به تمام محتویات کلاس دسترسی داشته باشیم it.Age = 4; it.showinformation(); itman.showinfo(); } } }