Python基础———面向对象基础

前言

本周学习内容是面向对象,学的只是皮毛,这一节是最有用的,也是很难的一节。

一、类

1.变量的初始化

可以用构造法,调用__init__来写:
class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age

实例化方法,通过类创建实例时,自动触发执行。

2.继承

继承就是子类继承父类的方法,属性。
定义Point、Circle、Cylinder(点、圆、圆柱) 三个类,三个类都拥有 x,y 属性,而 Circle 又增加了属性radius,Cylinder 类又增加了属性 height。都有获得 x,y 坐标,设置 x,y 坐标,求圆的面积、圆柱的体积的方法。

pi=3.14
class Point:
    def __init__(self,x,y):
        self.x=x
        self.y=y
class Circle(Point):
    def __init__(self,x,y,radius):
        super().__init__(x,y)
        self.radius=radius
    def s(self):
      
        return pi*self.radius**2
class Cylinder(Circle):
    def __init__(self,x,y,radius,height):
        self.height=height
        super().__init__(x,y,radius)
        
    def v(self):
        return pi*self.radius**2*self.height
d=Point(10,10)

s1=Circle(10,10,10)
v1=Cylinder(10,10,10,2)

print(s1.s())
print(v1.v())

以上这个可以体现继承的优点,更加方便快捷。

二、隐藏类中的属性

1.隐藏

可以在属性名前面加上__

class Dog:
    def __init__(self,name,age):
        self.hidden_name=name
        self.hidden_age=age

它不可以直接用对象名+方法来访问。

2.访问私有属性

可以用getter和setter方法。
getter 获取对象中的指定属性
setter 用来设置对象中的指定属性

class Dog:
    def __init__(self,name,age):
        self.hidden_name=name
        self.hidden_age=age
    def get_name(self):
        return self.hidden_name
    def set_name(self,name):
        self.hidden_name=name
d=Dog("旺财")
print(d.get_name())
d.set_name("大黑")
print(d.get_name())

如以上的代码

3.基础知识

实例:也称对象。通过类定义的初始化方法,赋予具体的值。

实例化:创建类的实例的过程或操作。

实例变量:定义在实例中的变量,只作用于当前实例。

类变量:类变量是所有实例公有的变量。类变量定义在类中,但在方法体之外。
类方法:类方法是将类本身作为对象进行操作的方法。

方法重写:如果从父类继承的方法不能满足子类的需求,可以对父类的方法进行改写。

封装:不希望被外界访问的属性,将之变为私有的,暴露给外界一个访问的函数,提高数据安全性。

多态:根据对象类型的不同以不同的方式进行处理。

三,再来一个

class Student:
    def __init__(self,id,clahao,name,xingbie,nianling):
        self.id=id
        self.clahao=clahao
        self.name=name
        self.xingbie=xingbie
        self.nianling=nianling
    def get_id(self):
        return self.id
    def get_clahao(self):
        return self.clahao
    def get_name(self):
        return self.name
    def get_xingbie(self):
        return self.xingbie
    def get_nianling(self):
        return self.nianling
    def toString(self):
        print("学号:",self.id,"班号:",self.clahao,"名字:",self.name,"性别:",self.xingbie,"年龄:",self.nianling)
s=Student('001','2',"何","男",'18')
print(s.get_id())
print(s.get_clahao())
print(s.get_name())
print(s.get_xingbie())
print(s.get_nianling())
print(s.toString())

仔细体会。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值