Python勉強_06

Python_06_20200218


变更履历

日期版本内容作者备注
2020/02/18v1.00初版做成author对象未定义

面向对象

OOP使用类和对象来创建和实现对真实世界的描述
设计方法下一篇blog总结

某一种分类,例如人类,班级,公司 。定义类,属性和方法
java代码

public class person(){
private string name;
private int age;
private string id;
//get,set
}

python代码

class Dog:
 def __init__(self,name):
  #构造函数
  #在实例化时作初始化的操作
  self.name=name
  self.__life=life#私有属性
 def show_life(self):
  print(self.__life)
 def say():
  print("wang wang wang!")
 def __sleep(self):#私有方法
  print("sleep zzz")
 def __del__(self):
 #析构函数,实例销毁时的操作
 #关闭数据库,关闭文件等操作
对象

具体类的一个,例如张三,高一1班,百度。实例化

person lisi=new person();
lisi.setname("lisi")
//...
d1=Dog()
d1.say()
特性

封装:隐藏实现细节
继承:扩展代码
多态:接口重用(python不直接支持,间接实现)

//继承
public class student extends person{ 
}
//多态
public say(string str){
system.out.print(str);
}
public say(string name,string str){
system.out.print(name+"say"+str);
}

#继承
class Taidi(Dog):#单继承
class bianmu(Dog,Work):#多继承 从左到右 依次执行
#多态
class Dog(animal):
 def talk():
  print("wowow")
class Cat(animal):
 def talk():
  print("miao")
class animal():
 ######
 def animal_talk(obj):
  obj.talk()  
#经典类
class Dog:

#新式类
class Dog(object):

具体例子

# -*- coding:utf-8 -*-
# Author = 'huarui'
class company(object):
 member=0
 def __init__(self,name,addr):
  self.name=name
  self.addr=addr
  self.emp=[]
  self.lead=[]
 def ruzhi(self,emp):
  #member++
  print("%s 公司加入新员工 %s" %(self.name,emp.name))
  self.emp.append(emp)
 def getleader(self,lead):
  print("%s 公司加入新leader %s" %(self.name,lead.name))
  self.lead.append(lead)
 def showall(self):
  print('''
  Name:%s
  Addr:%s
  Emp:%s
  Lead:%s
  '''%(self.name,self.addr,self.emp[0].name,self.lead))
 def quit(self,emp):
  pass
  #member-=1
  #self.emp.pop(emp)

class companymeber(object):
 def __init__(self,name,age,sex):
  self.name=name
  self.age=age
  self.sex=sex
 def showinfo(self):
  pass

class emp(companymeber):
 def __init__(self,name,age,sex,salary,groupid):
  super(emp,self).__init__(name,age,sex)
  self.salary=salary
  self.groupid=groupid
 def showinfo(self):
  print('''
  -----emp info-----
  Name:%s
  Age:%s
  Sex:%s
  Salary:%s
  Groupid:%s
  ''' %(self.name,self.age,self.sex,self.salary,self.groupid))
 def work(self):
  print("%s is working in %s" %(self.name,self.groupid))

class lead(companymeber):
 def __init__(self,name,age,sex,salary):
  super(lead,self).__init__(name,age,sex)
  self.salary=salary
  self.groupid="00"
 def showinfo(self):
  print('''
  -----leader info-----
  Name:%s
  Age:%s
  Sex:%s
  Salary:%s
  Groupid:%s
  ''' %(self.name,self.age,self.sex,self.salary,self.groupid))
 def movework(self,groupid):
  self.groupid=groupid
  print("%s is lead team %s"%(self.name,groupid))

com=company("baidu","beijing")
emp1=emp("xiaoming",23,"m",5500,"01")
emp2=emp("xiaohong",22,"f",5000,"02")
lead1=lead("xiaoli",35,"m",15000)
lead2=lead("xiaofang",30,"f",16000)
com.ruzhi(emp1)
com.ruzhi(emp2)
com.getleader(lead1)
com.getleader(lead2)
lead1.showinfo()
lead2.showinfo()
emp1.showinfo()
emp2.showinfo()
#lead1.movework("01")
#lead1.showinfo()
com.showall()
emp1.work()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值