چگونه یک سیستم بانکداری آنلاین بسازیم – آموزش برنامه نویسی شی گرا پایتون
برنامه نویسی شی گرا (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
کلاس supper است، در حالی که کلاس 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
نرخ بهره را برای حساب پس انداز تعیین می کند. ارثی نیست
نحوه ایجاد یک متد 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
مادر) را فراخوانی می کند تا مبلغ سود را به موجودی حساب اضافه کند.
نحوه ایجاد و استفاده از اشیاء
کلاس شما فقط یک الگو است. شما باید یک شی بسازید تا کلاس شما کار کند.
حال، بیایید از کلاس های خود اشیاء ایجاد کنیم و با آنها تعامل کنیم.
در کد بالا:
ما یک instance account1
از کلاس Account
ایجاد کردیم و عملیات واریز و برداشت را انجام دادیم.
به طور مشابه، ما یک نمونه savings_account
از کلاس Savings_Account
ایجاد کردیم و عملیات سپرده، اضافه سود و برداشت را نشان دادیم.
نتیجه
برنامه نویسی شی گرا پارادایم قدرتمندی است که به مهندسان نرم افزار اجازه می دهد کدی بنویسند که قابل استفاده مجدد، قابل نگهداری و مقیاس پذیر باشد.
سادگی پایتون آن را به یک انتخاب عالی برای یادگیری و پیاده سازی مفاهیم OOP تبدیل می کند.
با ساختن یک سیستم بانکداری آنلاین ساده، مفاهیم اولیه کلاسها، اشیاء و وراثت در پایتون را به شما نشان میدهم.
کد نویسی مبارک!
ارسال نظر