Python基础(六) — 面向对象

目录

  1. 对象的方法
  2. __init__
  3. 类和对象的变量
  4. 继承

  1. 对象可以使用普通的’属于’对象的变量存储数据;
  2. 属于一个对象或类的变量被称为域;
  3. 对象也可以使用’属于’类的函数来具有功能,这样的函数被称为类的方法;
  4. 域和方法可以合称为类的属性。域有两种类型——属于每个实例/类的对象或属于类本;
  5. 它们分别被称为实例变量和类变量。类使用class关键字创建。类的域和方法被列在一个缩进块中。
1. 类的定义
class Person:
    pass
2. 类实例的创建
class Person:
    pass
#创建对象
p = Person()
3. 对象的方法(类的方法)

类的方法与普通的函数的区别:类方法必须有一个额外的第一个参数名称(self),但是在调用这个方法时,无需为这个参数赋值。

class Person:
    #定义的类方法有self这个参数
    def sayHi(self, name):
        print('Hello, ', name)

p = Person('elson')
p.sayHi()

Python中的self相当于Java中的this。
对象调用方法的实质:
有一个类名为MyClass,一个对象实例MyObject,当该实例调用方法MyObject.method(arg1,arg2)时,Python内部自动转换为MyClass.method(MyObject, arg1, arg2)。

4. __init__ 方法(类似Java中的构造方法)

__init__ 方法在类的一个对象被建立时,马上运行。可以用来做一些初始化操作。

class Person:
    def __init__(self, name):
        self.name = name

    def sayHi(self):
        print('Hello, my name is', self.name)

p = Person('Elson')
p.sayHi()

__del__方法:它在对象消逝的时候被调用。在这个方法里面,可以做一些内存释放。
但很难保证它的具体运行时间(类似Java垃圾回收机制),如果需要制定它执行,就得显示的调用该方法。

5. 类和对象的变量

类的变量(类似Java的静态变量):由一个类的所有对象(实例)共享使用。
对象的变量:由类的每个对象/实例拥有。
类的变量和对象的变量:它们根据是类还是对象拥有这个变量而区分。

6. 继承
#!/usr/bin/python
# Filename: inherit.py

class SchoolMember: #基类
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def tell(self):
        print('Name:"%s" Age:"%s"' % (self.name, self.age))

class Teacher(SchoolMember): #子类(继承SchoolMember)
    def __init__(self, name, age, salary):
        SchoolMember.__init__(self, name, age) #调用父类的方法
        self.salary = salary

    def tell(self):
        SchoolMember.tell(self)
        print 'Salary: "%d"' % self.salary

class Student(SchoolMember): #子类
    def __init__(self, name, age, marks):
        SchoolMember.__init__(self, name, age)
        self.marks = marks

    def tell(self):
        SchoolMember.tell(self)
        print('Marks: "%d"' % self.marks)

t = Teacher('Mrs. Shrividya', 40, 30000)
s = Student('Swaroop', 22, 75)


members = [t, s]
for member in members:
    member.tell() # works for both Teachers and Students
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值