python面向对象程序设计(类成员)第二节

python 面向对象程序设计(类成员)

目录:

(1)        类成员和实例成员

(2)        公有成员和私有成员

(3)        方法

(一)类成员与实例成员:

实例属性属于实例(对象),只能通过对象名访问。

类属性属于类,类名或对象名都可以访问,属于类的数据成员是在类中所有方法之外定义的。

class Car:
    price = 1000   #类属性
    def __init__(self,c):
        self.color = c
car1 = Car("red")
car2 = Car("blue")
print(car1.color,car2.color,Car.price)

 D:\anaconda\python.exe D:/untitled/demo.py

red blue 1000

 进程已结束,退出代码 0

(二)公有成员与私有成员

私有成员与成员访问

class Fruit:

    def __init__(self):
        self.__color = 'red'
       
self.price = 2
apple = Fruit()
print(apple.price,apple._Fruit__color)

D:\anaconda\python.exe D:/untitled/demo.py

2 red

 进程已结束,退出代码 0

1)在定义类的成员时,如果成员名以两个下划线“__”或者更多下划线开头而不以两个或者两个以上的下划线结束则表示是私有成员。

(2)私有成员在类的外部是不能直接访问的,需要通过调用对象的公开成员方法来访问。公开成员既可以在类的内部进行访问,也可以在外部程序中使用。

下划线的概念

__foo__:类似__init()__之类的

_foo:以单下划线开头的表示的是protected 类型的变量,即保护类型只能允许其本身与子类进行访问。

__foo:双下划线的表示的是私有类型(private)的变量,只能允许这个类的本身进行访问。

class Fruit:
    def __init__(self):
       self.__color = 'red'#(自己用)
      
self.price = 300
       self._txt = 'www'#(自己和儿子用)
c = Fruit()
print(c._Fruit__color,c.price,c._txt)

 

(三)方法分类

方法分类:

在类中定义的方法可以粗略分为四大类

公有方法,私有方法,静态方法,类方法

公有方法及私有方法作用于对象

公有方法:在家这个类中爸爸,妈妈,小明都会唱歌,唱歌这个方法是公有的。

私有方法:王者荣耀只有你会玩,爸爸妈妈都不会玩,那么王者荣耀这个方法就是针对于你这个对象私有的。

静态方法或类方法对象和类都能调用(针对于类)

猜你喜欢

转载自www.cnblogs.com/abcd8833774477/p/11745702.html
今日推荐