دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
Class Library در سی شارپ
1404/01/10 -
دستور BREAK در پایگاه داده sql
1404/01/02 -
دستور CONTINUE در پایگاه داده SQL
1404/01/01 -
دستور WAITFOR در پایگاه داده SQL
1403/12/26 -
دستور GOTO در پایگاه داده SQL
1403/12/25 -
حلقه WHILE در پایگاه داده SQL
1403/12/24
سطح دسترسی Public (عمومی) در سی شارپ

سطح دسترسی Public (عمومی) در سی شارپ
در زبان سی شارپ سطح دسترسی Public (عمومی) یکی از سطوح دسترسی اصلی است که به اعضای یک کلاس (متغیرها، متدها، ویژگیها و غیره) اجازه میدهد تا از هر جای دیگر در برنامه، چه درون همان کلاس و چه از سایر کلاسها و حتی سایر اسمبلیها، قابلدسترسی باشند.
این سطح دسترسی معمولاً زمانی استفاده میشود که نیاز باشد یک عضو از کلاس بدون محدودیت خاصی در دسترس سایر قسمتهای برنامه قرار گیرد.
به عنوان مثال، در برنامههای شیگرا، متدها یا ویژگیهایی که باید در سطح وسیعی از پروژه مورد استفاده قرار گیرند، اغلب Public تعریف میشوند.
استفاده از Public به برنامهنویسان امکان میدهد تا کلاسها و متدهایی را که برای سایر بخشهای برنامه ضروری هستند، بهطور شفاف و بدون محدودیت ارائه دهند.
با این حال، استفادهی بیش از حد از این سطح دسترسی میتواند مشکلاتی مانند کاهش امنیت دادهها و عدم کنترل بر تغییرات ایجاد کند.
بنابراین، در طراحی برنامههای بزرگ، بهتر است اعضای کلاس تا حد ممکن با سطوح دسترسی محدودتری مانند Private یا Protected تعریف شوند و فقط در موارد ضروری Public باشند تا از اصول کپسولهسازی (Encapsulation) پیروی شود و پایداری کد افزایش یابد.
ویژگیهای سطح دسترسی Public
-
دسترسی عمومی
تمام کاربران به دادهها یا اشیاء مشخصشده دسترسی دارند. -
بدون نیاز به مجوز خاص
کاربران بدون نقش یا سطح دسترسی خاص میتوانند دادهها را ببینند. -
قابل استفاده در جداول، Viewها و توابع
میتوان برای کنترل دسترسی به دادههای عمومی استفاده کرد. -
ریسک امنیتی
اگر بهدرستی مدیریت نشود، ممکن است اطلاعات حساس در دسترس همه قرار گیرد. -
امکان کنترل با REVOKE
میتوان سطح دسترسی PUBLIC را با REVOKE حذف کرد.
مثال: دادن دسترسی خواندن به همه کاربران:
GRANT SELECT ON Users TO PUBLIC;
نحوه استفاده از سطح دسترسی Public در کلاسها
تعریف کلاس عمومی
کلاسهایی که با سطح دسترسی public تعریف میشوند، از هر جای برنامه قابل استفاده هستند.
public class Car
{
public string Brand;
public int Speed;
public void ShowInfo()
{
Console.WriteLine($"Brand: {Brand}, Speed: {Speed}");
}
}
class Program
{
static void Main()
{
Car myCar = new Car();
myCar.Brand = "Toyota";
myCar.Speed = 180;
myCar.ShowInfo();
}
}
توضیح کد
کلاس Car عمومی است، بنابراین میتوان آن را از هر جای برنامه نمونهسازی کرد.
متغیرهای Brand و Speed نیز public هستند، بنابراین مقداردهی و تغییر مقدار آنها از هر مکانی در برنامه ممکن است.
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
شرکت در دوره آموزش برنامه نویسی سی شارپ
استفاده از Public در متدها
متدهای عمومی به این معنا هستند که میتوان از هر نقطه از برنامه آنها را فراخوانی کرد.
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
}
class Program
{
static void Main()
{
Calculator calc = new Calculator();
int result = calc.Add(5, 10);
Console.WriteLine("Result: " + result);
}
}
توضیح کد
کلاس Calculator شامل یک متد عمومی Add است که دو مقدار را دریافت کرده و حاصل جمع آنها را برمیگرداند.
از کلاس Program میتوان این متد را مستقیماً فراخوانی کرد.
استفاده از Public در Properties
در زبان سی شارپ، Properties جایگزین مناسبی برای متغیرهای عمومی هستند، زیرا امکان کنترل بهتر روی مقداردهی را فراهم میکنند.
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
Person person = new Person();
person.Name = "Ali";
person.Age = 25;
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}
}
توضیح کد
ویژگیهای Name و Age با سطح public تعریف شدهاند و بنابراین مقداردهی و مقدارگیری آنها از هر نقطه در برنامه ممکن است.
سطح دسترسی Public در ارثبری (Inheritance)
وقتی یک کلاس از کلاسی دیگر ارثبری میکند، اعضای public کلاس والد در کلاس فرزند نیز قابل دسترسی خواهند بود.
public class Animal
{
public void MakeSound()
{
Console.WriteLine("Animal makes a sound");
}
}
public class Dog : Animal
{
public void Bark()
{
Console.WriteLine("Dog is barking");
}
}
class Program
{
static void Main()
{
Dog myDog = new Dog();
myDog.MakeSound(); // از کلاس والد
myDog.Bark(); // از کلاس فرزند
}
}
توضیح کد
کلاس Animal دارای متد MakeSound است که سطح دسترسی آن public میباشد.
کلاس Dog از Animal ارثبری کرده و متد MakeSound را به ارث برده است.
بهترین روشها برای استفاده از Public
-
استفاده از VIEW
فقط دادههای مجاز را نمایش بده. -
محدود کردن سطح دسترسی
دسترسی SELECT را به کاربران عمومی بده. -
ایجاد نقشهای کاربری (ROLE) برای مدیریت بهتر دسترسیها.
-
جلوگیری از دستکاری دادهها
جداول عمومی را READ-ONLY کن. -
بهینهسازی امنیت
اطلاعات حساس را در جداول Public ذخیره نکن.
مثال پروژه محور از سطح دسترسی Public در سی شارپ
پروژه مدیریت کتابخانه با استفاده از سطح دسترسی Public در سی شارپ
در این پروژه، یک کلاس Library ایجاد میکنیم که شامل یک لیست از کتابها است.
کلاس Book نیز برای نمایش اطلاعات هر کتاب طراحی شده است.
از سطح دسترسی public برای متدهایی که کاربران میتوانند از آنها استفاده کنند، بهره میبریم.
کد پروژه: مدیریت کتابخانه
using System;
using System.Collections.Generic;
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
public Book(string title, string author)
{
Title = title;
Author = author;
}
public void ShowInfo()
{
Console.WriteLine($"Title: {Title}, Author: {Author}");
}
}
public class Library
{
public List<Book> Books { get; private set; }
public Library()
{
Books = new List<Book>();
}
public void AddBook(Book book)
{
Books.Add(book);
Console.WriteLine($"Book \"{book.Title}\" added to the library.");
}
public void ShowAllBooks()
{
Console.WriteLine("\nLibrary Books:");
foreach (var book in Books)
{
book.ShowInfo();
}
}
}
class Program
{
static void Main()
{
Library myLibrary = new Library();
Book book1 = new Book("C# Programming", "John Doe");
Book book2 = new Book("ASP.NET Core Guide", "Jane Smith");
myLibrary.AddBook(book1);
myLibrary.AddBook(book2);
myLibrary.ShowAllBooks();
}
}
توضیح کد:
کلاس Book دارای دو ویژگی عمومی Title و Author است که قابل دسترسی و مقداردهی از هر جای برنامه هستند.
کلاس Library شامل یک لیست از کتابها است که فقط از طریق متدهای عمومی AddBook و ShowAllBooks مدیریت میشود.
کلاس Program کتابخانه را مقداردهی کرده، کتابها را اضافه میکند و سپس لیست آنها را نمایش میدهد.
این روش باعث میشود که سطح دسترسی کنترلشده باشد و امنیت دادهها بهبود یابد.
دوره های مرتبط

آموزش برنامه نویسی سی شارپ
زبان شی گرایی حرفه ای سی شارپ یک زبان قدرتمند برای طراحی نرم افزار به شمار میرود.