نمایش نتایج 1 تا 11 از 11

نام تاپیک: Console کلاس بدون شی؟

  1. #1

    Console کلاس بدون شی؟

    سلام

    ما برای چاپ از کلاس console متود write بهره میبریم.
    اما ما بدون ایجاد شی نمیتوانیم به اعضا و متد های ان کلاس دسترسی داشته باشیم.
    پس چطور است مستقیم میشود از کلاس کنسول بدون ایجاد شی استفاده کرد؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    نقل قول: Console کلاس بدون شی؟

    دوست عزیز برای کلاس های استاتیک نیاز به ایجاد شی نمی باشد
    مثلا
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication51
    {
    public static class test
    {

    public static void testmethod()
    {

    Console.WriteLine("test");
    }
    }
    class Program
    {
    static void Main(string[] args)
    {
    test.testmethod();
    }
    }
    }

  3. #3

    نقل قول: Console کلاس بدون شی؟

    سلام
    برای ایجاد کلاس استاتیک باید چه کار کرد

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    نقل قول: Console کلاس بدون شی؟

    ویرایش کردم و یه نمونه مثال برات نوشتم

  5. #5

    نقل قول: Console کلاس بدون شی؟

    سلام
    ما اگر کلمه کلیدی static رو از قبل از کلاس هم برداریم و تنها متد اساتاتیک باشد.کفایت میکند.فرقش چیست؟

  6. #6
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    نقل قول: Console کلاس بدون شی؟

    دوست عزیز به قول جناب افشاری "خوبه خودتون هم تست کنین و یه ذره قدرت تحلیلتون بره بالا !"
    خب یک کلاس ایجادکن و.................
    شما کدت رو بنویس بچه ها هم هرجاشو نگرفتی بهت توضیح میدن
    موفق باشی رفیق

  7. #7

    نقل قول: Console کلاس بدون شی؟

    دوست عزیز تست کردم اتفاقا.چون دیدم فرق نکرد .اومدم پرسیدم.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    نقل قول: Console کلاس بدون شی؟

    من اینو نوشتم شما ببین چی از برداشت میکنی
    خروجی رو دقت کن و همچنین متدها رو
    using System;

    namespace staticexampel
    {
    public class test
    {
    class MyClass2
    {
    public static void test3 (string name)
    {
    Console.WriteLine("the name is {0}", name);

    }

    }
    public class MyClass
    {

    public static void test2(string name)
    {
    Console.WriteLine("the name is {0}", name);

    }

    }

    public static void test1(string name)
    {
    Console.WriteLine("the name is {0}",name);

    }

    static void Main(string[] args)
    {
    test1("esa");
    test.MyClass.test2("esa");
    MyClass2.test3("irpersian20");
    Console.ReadKey();
    }
    }



    }

  9. #9

    نقل قول: Console کلاس بدون شی؟

    سلام
    منظور من این نبود.
    من این رو گفتم.

    class Class2
    {
    public static int ta()
    {
    return 2;
    }
    }


    static class Class2
    {
    public static int ta()
    {
    return 2;
    }
    }

  10. #10
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    نقل قول: Console کلاس بدون شی؟

    خب دوست عزیز من این مثال رو زدم باز به فرض داشتن این کلاس
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication20
    {
    class Class1

    {
    public static int t(int a)
    {
    return a;
    }


    }
    static class class2
    {
    public static int t(int a)
    {
    return a;
    }

    }
    }


    ما این خروجی داریم
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication20
    {
    class Program
    {

    static void Main(string[] args)
    {

    Console.WriteLine(Class1.t(10));
    Console.WriteLine(class2.t(20));
    Console.ReadKey();
    }
    }
    }

  11. #11
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: Console کلاس بدون شی؟

    با سلام

    باید ها و نباید های زیادی در مورد نحوه استفاده از کلاس ها و اعضای استاتیک کلاس ها وجود داره که باید قبل از استفاده از اونها ، حتما با نحوه ی کارکردشون اشنایی داشته باشید.

    یکی از ویژگی های استفاده از کلاس های استاتیک این است که شما نیازی به ایجاد نمونه از اون کلاس ندارید و به راحتی میتوانید با استفاده از نام کلاس ، به اعضای اون دسترسی داشته باشید ولی این نکته رو به یاد داشته باشید که شما زمانی که یک کلاس را به صورت استاتیک تعریف می کنید ، نمیتوانید اعضای اون رو به صورت غیراستاتیک تعریف کنید ، به مثل زیر دقت کنید :


    public static class Test_StaticClass
    {
    public void GetDate() { }
    public int Age;
    public string FullName { get; set; }
    }


    method ها ، field ها و property های تعریف شده در بالا توسط کامپایلر خطا در نظر گرفته می شوند

    و همینطور این رو هم در نظر داشته باشید که اگر یک کلاس رو غیر استاتیک تعریف کنید ، و درون ان یک متد استاتیک تعریف کنید شما تنها به اعضایی از کلاس دسترسی دارید که در سطح کلاس تعریف شده باشند :


    public class Test_StaticClass
    {
    public static string GetName()
    {
    return FullName;
    }
    public string FullName;
    }


    در مثال بالا متغیر FullName در به صورت استاتیک در سطح کلاس تعریف نشده است و اصلا حافظه ای به اون اختصاص داده نشده است ، ولی اگر همون متغیر FullName رو به صورت استاتیک تعریف کنید به دلیل اینکه حافظه بهش اختصاص داده می شود شما میتونید در متد GetName از اون استفاده کنید

    همونطور که میدونید بخشی از حافظه رم رو همین متغیر ها و متد های استاتیک پر می کنند که این بخش در قسمت Heap قرار داره و این رو هم یادوار بشم ، کلا دلیل استفاده از یک کلاس استاتیک اینه که ما بخش های پرکاربرد خودمون رو در اون قرار بدیدم و هر بار از اونها استفاده بکنیم تا دیگه نیازی نباشه هر بار یک نمونه از اونهارو ایجاد بکنیم

    یک نکته دیگه رو هم بگم که کلاس های استاتیک sealed هستند یعنی به صورت پیش فرض طوری هستند که قابل ارث بردن نیستند.

    موفق باشید

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


تاپیک های مشابه

  1. حافظه کلاس یا شی؟
    نوشته شده توسط alirah84 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: دوشنبه 29 آبان 1391, 20:07 عصر
  2. امکان استفاده از تابع درون کلاس بدون ساختن شی ء
    نوشته شده توسط donya100 در بخش C#‎‎
    پاسخ: 8
    آخرین پست: یک شنبه 02 خرداد 1389, 08:02 صبح
  3. سوال: تغییر نام کلاس بدون اتلاف وقت
    نوشته شده توسط ameysams در بخش طراحی وب (Web Design)
    پاسخ: 8
    آخرین پست: جمعه 13 شهریور 1388, 02:56 صبح
  4. سوال: استفاده از محتویات کلاس بدون نمونه سازی از آن
    نوشته شده توسط haghft در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 17 تیر 1387, 00:10 صبح
  5. برنامه اي بدون Console
    نوشته شده توسط ICEMAN در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: یک شنبه 15 اردیبهشت 1387, 22:11 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •