首页 > 其他分享 >单例 仅一个司机售票

单例 仅一个司机售票

时间:2023-07-17 17:56:31浏览次数:31  
标签:售票 __ name 乘客 self 司机 单例 ._

# 单例  司机只有一个
class Driver:
    _self=None
    _name = "Driver Jack"  # 司机的姓名
    _num = 0  # 司机的业绩 初始值是0



    def __new__(cls, *args, **kwargs):
        if cls._self is None:
            cls._self=super().__new__(cls)
        return cls._self
    # 定义 动作 卖票  司机将一张票卖给乘客
    def sell(self,name):

        print(f"司机{self._name}将一张票卖给乘客{name}")
        # 卖票后 业绩加1
        self._num+= 1
    # 定义 动作打印业绩
    def getnum(self):
        yeji=self._num
        print(f"司机的业绩是{yeji}")
# 定义乘客
class Passenger:
    # 乘客的属性
    def __init__(self,name):# 乘客的属性是姓名
        self._name= name
    # 乘客的动作
    def buy(self):# 乘客从司机那里买票
        bug_tik=Driver()
        bug_tik.sell(self._name)# 调用司机的售票动作  传入乘客的姓名
        #打印业绩
        bug_tik.getnum()
# 调用定义的类 获取当前司机的业绩
Passenger("A").buy()
Passenger("B").buy()
Passenger("C").buy()

 

标签:售票,__,name,乘客,self,司机,单例,._
From: https://www.cnblogs.com/haha1988/p/17560778.html

相关文章

  • 单例 每次都只有一个售票员
    #售票员卖票classDriver:_self=None_name='Driver_Jack'#售票员的名字_num=0#售票员的业绩def__new__(cls,*args,**kwargs):ifcls._selfisNone:#如果售票员这个类是空cls._self=super().__new__(cls)#将从基类中继......
  • Java项目12306售票系统
    Java项目12306售票系统 目录(一)系统功能概述3(二)系统功能模块结构31.前端功能32.WEB服务端43.数据库端4(三)系统界面设计51.登陆界面52.注册界面53.操作成功界面提示64.操作失败界面提示65.导航页76.购票页87.购买后打印电子车票页88.退票页与结果提示页89......
  • 单例
    单例的意义就是保证创建一个实例第一部分:没用单例之前出现了4个公交车司机;第二部分使用单例后,每次只有一个公交车司机;classBusDriver:def__init__(self):#定义公交车司机的姓名和卖票张数self._BusDriver_name='BusDriver-Jack'#姓名self._......
  • 关于线程问题的探讨(售票问题)
    packageSellTickets;publicclassSellTickets01implementsRunnable{privatestaticintticketNum=100;@Overridepublicvoidrun(){while(true){if(ticketNum<=0){System.out.pr......
  • 怎么销毁单例
    staticNGUser*sharedInstance=nil;staticdispatch_once_tonceToken;+(instancetype)sharedInstance{dispatch_once(&onceToken,^{//调用父类的allocWithZone,不能使用self,避免循环引用sharedInstance=[[superallocWithZone:NULL]init];});......
  • 新版Springboot3.0打造能落地的高并发仿12306售票系统
    第1章课程介绍与学习指南3节|22分钟本章主要对课程做整体介绍,其中包括:课程要解决的问题、课程特色和亮点、课程内容安排、学完大家的收获,以及在学习方法上提出的建议与指导。 第2章12306这个系统架构到底有多牛?8节|71分钟本章主要对课程为什么选择12306课程作为实战......
  • 新版Springboot3.0打造能落地的高并发仿12306售票系统
    第1章课程介绍与学习指南3节|22分钟本章主要对课程做整体介绍,其中包括:课程要解决的问题、课程特色和亮点、课程内容安排、学完大家的收获,以及在学习方法上提出的建议与指导。 第2章12306这个系统架构到底有多牛?8节|71分钟本章主要对课程为什么选择12306课程作为实战......
  • 重温设计模式 --- 单例模式
    引言单例模式是一种创建型设计模式,它的主要目的是确保某个类在应用程序中只有一个实例,并且这个实例能够被全局访问。在许多情况下,单例模式是非常有用的,比如说当你需要创建一个全局的配置类或者日志类时,单例模式可以让你轻松地实现这些功能。在实现单例模式时,有两种常见的方法,“......
  • JS 中单例模式的具体实现细节和实践
    通用的创建单例模式的方法:1创建实例对象的职责和管理单例的职责分别放置于两个方法中。2两个方法可以互相独立而互不影响。3惰性加载单例模式,等到用到的时候才加载。1letcreateSingle=function(fn){2letresult;3returnfunction(){4//app......
  • Spring单例的解决方案
    1spring单例V.S设计模式的单例设计模式单例,在整个应用中只有一个实例spring单例,在一个IoC容器中只有一个实例Spring框架对单例的支持是采用单例注册表但spring中的单例也不影响应用并发访问。大多数时候客户端都在访问我们应用中的业务对象,为减少并发控制,不应在业务对象中设置那......