Python学习笔记(7)

本文介绍了Python中的面向对象编程,包括类的设计与实现、私有成员的使用,以及类的继承等核心概念。通过实例展示了如何定义类、创建对象,并演示了继承关系中基类与子类的具体应用。

Python学习笔记(7)



一、Python的类和面向对象编程
先看一个例子:
inventory.py文件
# The Cellphone class holds data about a cell phone.
#inventory.py
class CellPhone:
def __init__(self,manufact,model,price):
self.__manufact = manufact
self.__model = model
self.__retail_price = price
def set_manufact(self,manufact):
self.__manufact = manufact
def set_model(self,model):
self.__model = model
def set_retail_price(self, price):
self.__retail_price = price
def get_manufact(self):
return self.__manufact
def get_model(self):
return self.__model
def get_retail_price(self):
return self.__retail_price

p17.py文件
import inventory
def main():
man = raw_input('Enter the manufacturer: ')
mod = raw_input('Enter the model number: ')
retail = input('Enter the retail price:')
phone = inventory.CellPhone(man, mod, retail)

print 'Hear is the data that you entered:'
print 'Manufacturer:',phone.get_manufact()
print 'Model Number:',phone.get_model()
print 'Retail Price: $%.2f' %phone.get_retail_price()
main()

运行结果:
Enter the manufacturer: IBM
Enter the model number: COOL123
Enter the retail price:1050.50
Hear is the data that you entered:
Manufacturer: IBM
Model Number: COOL123
Retail Price: $1050.50

把类中的属性作为私有数据,只能通过访问器进行访问和修改,这是一种非常安全的方法。


二、Python的类继承
Python允许一个新类继承已有的类。
例:
vehicles.py文件
# vehicles.py
# The Automobile class holds general data about an automobile in inventory.
class Automobile:
def __init__(self,make,model,mileage,price):
self.__make = make
self.__model = model
self.__mileage = mileage
self.__price = price
def set_make(self, make):
self.__make = make
def set_model(self, model):
self.__model = model
def set_mileage(self, mileage):
self.__mileage = mileage
def set_price(self, price):
self.__price = price

def get_make(self):
return self.__make
def get_model(self):
return self.__model
def get_mileage(self):
return self.__mileage
def get_price(self):
return self.__price

class Car(Automobile):
def __init__(self,make,model,mileage,price,doors):
Automobile.__init__(self,make,model,mileage,price)
self.__doors = doors
def set_doors(self, doors):
self.__doors = doors
def get_doors(self):
return self.__doors

p18.py文件
# The Car class represents a car. It is a subclass of the Automobile class.
import vehicles

def main():
used_car = vehicles.Car('Audi',2007,12500,21500.00,4)
print 'Make:',used_car.get_make()
print 'Model:',used_car.get_model()
print 'Mileage:',used_car.get_mileage()
print 'Price:',used_car.get_price()
print 'Number of doors:',used_car.get_doors()
main()

运行结果:

Make: Audi
Model: 2007
Mileage: 12500
Price: 21500.0
Number of doors: 4


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值