از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
چگونه یک سیستم بانکداری آنلاین بسازیم – آموزش برنامه نویسی شی گرا پایتون
سرفصلهای مطلب
برنامه نویسی شی گرا (OOP) یک مفهوم اساسی در مهندسی نرم افزار است که به مهندسان نرم افزار اجازه می دهد تا کد را به روشی سازمان یافته تر و ماژولارتر ساختار دهند.
پایتون با نحو واضح و مختصر خود یک زبان عالی برای یادگیری و اجرای اصول OOP است.
در این مقاله، با ساختن یک سیستم بانکداری آنلاین ساده، به اصول اولیه OOP در پایتون خواهیم پرداخت.
مروری بر مفاهیم OOP
قبل از شروع کدنویسی، بیایید مفاهیم کلیدی OOP را درک کنیم:
- کلاس ها: کلاس ها نقشه هایی برای ایجاد اشیا هستند. آنها صفات (داده ها) و متدها (توابع) را تعریف می کنند که اشیاء آن کلاس خواهند داشت.
- اشیاء: اشیا نمونه هایی از کلاس ها هستند. آنها موجودیت های دنیای واقعی را نشان می دهند و داده ها و رفتار را محصور می کنند.
- وراثت: وراثت به یک کلاس (زیر کلاس) اجازه می دهد تا ویژگی ها و متدها را از کلاس دیگر (ابر کلاس) به ارث ببرد. استفاده مجدد از کد را ترویج می کند و از روابط سلسله مراتبی بین کلاس ها پشتیبانی می کند.
- سازنده: یک سازنده (
__init__()
) نوع خاصی از متد است که به طور خودکار هنگام ایجاد یک شی از یک کلاس فراخوانی می شود. هدف اصلی آن، مقداردهی اولیه شی تازه ایجاد شده، تنظیم مقادیر اولیه برای ویژگی های آن یا انجام هر گونه کار راه اندازی ضروری است.
چگونه یک سیستم بانکداری آنلاین بسازیم
بیایید با ایجاد ساختار اساسی برای سیستم بانکداری آنلاین خود با استفاده از اصول OOP شروع کنیم.
چگونه یک کلاس و سازنده ایجاد کنیم
بیایید یک کلاس ایجاد کنیم و کلاس را با سازنده شروع کنیم:
class Account:
def __init__(self, name, account_number, balance):
self.name = name
self.account_number = account_number
self.balance = balance
در مثال بالا:
- این
class
کلمه کلیدی یک را اعلام می کندAccount
کلاس - این
__init__()
متد سازنده ای است که با علامت زیرخط دوگانه ویژه در ابتدا و انتهای آن تعریف شده است. self
اشاره ای به نمونه کلاس است. این اولین پارامتر از تمام متدهای نمونه در پایتون است.name
نام صاحب حساب است.-
account_number
یک شناسه منحصر به فرد برای حساب پس انداز است، وbalance
پارامترهایی هستند که به سازنده منتقل می شوند. - داخل سازنده
self.name
،self.account_number
، وself.balance
ویژگی های کلاس هستندAccount
که با مقادیر مقداردهی اولیه می شوندname
،account_number
وbalance
، به ترتیب.
سازنده ها می توانند وظایف مختلفی مانند مقداردهی اولیه ویژگی ها، باز کردن اتصالات، بارگذاری داده ها و موارد دیگر را انجام دهند. آنها برای اطمینان از اینکه اشیاء به درستی تنظیم شده اند و به محض ایجاد آنها برای استفاده آماده هستند، ضروری هستند.
روش ایجاد متدها (توابع)
کار بعدی نوشتن متدهای مختلف برای ما است Account
کلاس کاربران باید بتوانند واریز و برداشت کنند.
روش ایجاد روش سپرده گذاری
def deposit(self, amount):
self.balance += amount
print(f"{self.name} Deposited {amount} $. Current balance is: {self.balance}")
در مثال بالا:
- این
deposit
این روش به کاربران اجازه می دهد تا وجوهی را به حساب خود اضافه کنند. - روش یک پارامتر اضافی می گیرد
amount
، که مبلغی است که باید واریز شود. - در داخل روش،
amount
با استفاده از به تراز جاری اضافه می شودself.balance += amount
. - پیامی چاپ می شود که نام سپرده گذار و مبلغ واریز شده را نشان می دهد و موجودی به روز می شود.
روش ایجاد روش برداشت
def withdraw(self, amount):
if self.balance >= amount:
self.balance -= amount
print(f"{self.name} Withdrew {amount} $. Current balance is: {self.balance}")
else:
print("You don't have enough funds to withdraw.")
در مثال بالا:
- این
withdraw
این روش به کاربران اجازه می دهد وجوه خود را از حساب خود برداشت کنند. - روش همچنین یک
amount
پارامتر که مقداری است که کاربر ما می خواهد برداشت کند. - روش بررسی می کند که آیا موجودی حساب (
self.balance
) بزرگتر یا برابر با مبلغی است که کاربر ما می خواهد برداشت کند. - اگر موجودی کافی باشد، مبلغ برداشت با استفاده از موجودی حذف می شود
self.balance -= amount
. - اگر موجودی کافی نیست، پیامی با این مضمون که “وجوه کافی برای برداشت ندارید.” برای کاربر چاپ می شود.
وراثت چگونه کار می کند
با توضیح وراثت در بالا، بیایید ببینیم که چگونه در کد کار می کند. ما قصد داریم کلاسی بسازیم که به ارث می برد Account
کلاس
توجه داشته باشید که Account
کلاس کلاس شام است، در حالی که Savings_Account
کلاس یک زیر کلاس است که به عنوان کلاس فرزند نیز شناخته می شود.
class Savings_Account(Account):
def __init__(self, name, account_number, balance, interest_rate):
super().__init__(name, account_number, balance)
self.interest_rate = interest_rate
در کد بالا:
- این
__init__
متد سازنده برایSavings_Account
کلاس - چهار پارامتر را می پذیرد:
name
که نام صاحب حساب است،account_number
، که یک شناسه منحصر به فرد برای حساب پس انداز است،balance
، که موجودی اولیه حساب است وinterest_rate
، که نرخ بهره سالانه (به صورت اعشاری) برای حساب است. - این
super().__init__(name, account_number, balance)
خط سازنده کلاس والد (Account
) برای مقداردهی اولیه حساب و موجودی. - این
self.interest_rate = interest_rate
خط نرخ بهره مخصوص حساب پس انداز را تعیین می کند. ارثی نیست
روش ایجاد An add_interest
روش
def add_interest(self):
interest = self.balance * self.interest_rate
self.deposit(interest)
در مثال بالا:
- این
add_interest
روش محاسبه و به مانده حساب اضافه می کند. - این روش سود را با ضرب موجودی جاری محاسبه می کند (
self.balance
) با نرخ بهره (self.interest_rate
). - نتیجه در ذخیره می شود
interest
متغیر. - در نهایت،
self.deposit(interest)
خط تماس می گیردdeposit
روش (تعریف شده در والدAccount
کلاس) برای اضافه کردن مبلغ سود به مانده حساب.
روش ایجاد و استفاده از اشیاء
کلاس شما فقط یک الگو است. شما باید یک شی بسازید تا کلاس شما کار کند.
حال، بیایید از کلاس های خود اشیاء ایجاد کنیم و با آنها تعامل کنیم.
در کد بالا:
- ما یک نمونه ایجاد کردیم
account1
ازAccount
کلاس و عملیات واریز و برداشت انجام شده است. - به طور مشابه، ما یک نمونه ایجاد کردیم
savings_account
ازSavings_Account
کلاس و عملیات نشان داده شده سپرده، بهره اضافه، و برداشت.
نتیجه
برنامه نویسی شی گرا پارادایم قدرتمندی است که به مهندسان نرم افزار اجازه می دهد کدی بنویسند که قابل استفاده مجدد، قابل نگهداری و مقیاس پذیر باشد.
سادگی پایتون آن را به یک انتخاب عالی برای یادگیری و پیاده سازی مفاهیم OOP تبدیل می کند.
با ساختن یک سیستم بانکداری آنلاین ساده، مفاهیم اولیه کلاسها، اشیاء و وراثت در پایتون را به شما نشان میدهم.
کد نویسی مبارک!
منتشر شده در 1403-03-21 14:21:13