面向对象
Posted 2987831760qq-com
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象相关的知识,希望对你有一定的参考价值。
面向对象(OOP)概念
面向过程:早期的编程概念,类似于函数,但只能执行,没有返回值,将功能独立的代码封装成一个个函数,最后顺序地调用不同的函数
函数式编程:不仅能执行,还可以返回结果
面向对象: 面向对象是更大的封装,根据职责在一个对象里封装多个方法,顺序地让不同的对象调用不同的方法
类和对象
类和对象是面向对象编程的两个核心概念
类是一群具有相同特征或者行为的事物的统称,是抽象的,不能直接使用,特征被称为属性,行为被称为方法
类相当于一个一个模板,是负责创建对象的
对象是类创建出来的一个具体的存在,可以直接使用,由什么类创建的对象,就拥有那个类中定义的属性和方法
在程序开发中,先有类再有对象
先定义类:
class Student (object): def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def student_name(self): return ‘my name is {}‘.format(self.name) def student_sge(self): return ‘my age is {}‘.format(self.age) def student_sex(self): return ‘i am a {}‘.format(self.sex)
再创建对象:则创建的对象就都有了这个类的属性和方法
new_student = Student(‘jia‘, 12, ‘boy‘) print(new_student.student_name())
new1_student = Student(‘jia‘, 12, ‘boy‘)
print(new1_student.student_name())
私有属性和私有方法
对象的某些属性或方法,可能只希望在对象内部被使用,不希望在外部被访问到,,私有属性和私有方法
定义方式:在定义属性和方法时, 在属性和方法前增加两个下划线,定义的就是私有属性或方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class Women: def __init__( self , name): self .name = name self .__age = 18 def __secret( self ): print ( ‘我的年龄:{}‘ . format ( self .__age)) student1 = Women( ‘贾‘ ) # print(student1.__age) # 由于是私有属性,所以不能在外部访问 # student1.__secret() # 私有方法,也不能在外部访问 # print(student1._Women__age) # 其实定义的私有方法/属性,是伪私有方法/属性,可以通过 # student1._Women__secret() # 在调用的时候在被调用的方法/属性前加 _类名 ==》 _类名__名称,进行访 |
以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章