【面向对象】
李坤是不是人?(人类)
飞飞是不是人?(人类)
扎心是不是人?(人类)

是:特指某一个事物

属于:同一的类型

什么是对象:
就是特指的某一个东西,万物皆对象

什么是类:
具有一批相同属性和特点的东西

人类
鸟类
汽车类
败类

单词-》函数(内置函数、自定义函数)->类

学习面向对象的好处:
1、代码更加的紧凑
2、让代码更加的优雅
3、很复杂的功能一条代码搞定

【两个层面】
1、语法层面
2、思维层面(靠你的代码量训练出来的)设计模式

【OOA】
面向对象分析

【OOD】
面向对象设计

【OOP】重点
面向对象编程

缺点:
比面向过程的速度慢

为什么慢?

慢了为什么还要学?

1、团队开发
2、减少开发时间
3、有利于维护 减少冗余

【面向对象的三大特征】
1、封装
公共的
public

受保护的
protected

私有的
private

2、继承
extends

3、多态
PHP里面多态几乎没有不明显

类的定义:
关键字class 类名
{

}

注意:类名首字母大写 后面跟着大括号,切记没有小括号

程序里面的对象的定义:

实例化的类就是对象 -》 new关键字

什么类的时候需要注意的几点:

1、声明成员属性的时候 必须加上修饰词 public 或者 var(不用了) 就是变量

2、声明成员方法的时候可以不加修饰词,建议加上吧,var 不能修饰成员方法 就是函数

【总结】:
1、必须使用关键字class
2、类名字的首字母必须是大写
3、遵循大驼峰命名法 MyName myName
4、不能使用内置函数名,不能使用系统保留的关键字
5、可以使用下划线
6、类名字要有意义
【成员属性】
1、必须使用关键字去修饰(public 、 protected 、private)还可以使用var 但是现在不用了
2、说白了成员属性就是咱们基础课学的怎么去声明变量

【成员方法】
1、与函数一样
2、有意义
3、驼峰命名法
4.。。。。。

【必须要知道滴东西】
1、-> 对象成员访问符号,说白了就是 汉字里面的 ’的‘
2、在实例化这个类的时候 虽然 不加小括号不报错,但是我建议都加上+()
3、在外部访问成员属性的时候不要加$
4、成员方法里面可以有形参,可以有默认值,和你们当初学的函数一模一样

【$this】
this 就是代表的当前类

js 里面也有this 但不是$this(了解就行)

注意:当本类当中使用自

使用自己的成员属性的时候 变量前面不能加$

【1】public的更多相关文章

  1. 【java】public,private和protected

    public表示紧随其后的元素对任何人都是可用的,而private这个关键字表示除类型创建者和类型内部方法之外的任何人都不能访问的元素.protected关键字与private作用相当,差别仅在于继承 ...

  2. 【翻译】configuration changes与handler.post

    原文地址 http://corner.squareup.com/2013/12/android-main-thread-2.html 在前一部分里面previous part ,我们深入挖掘了 loo ...

  3. 【LeetCode】数组-4(581)-给未排序数组中子数组排序使得整个数组排序 找到这个最小的子数组

    这道题目感觉并不太容易,也并没有想到什么比较好的方法,看来还是积累太少. 思路一:两个指针向后遍历,分别记下造成逆序的最小和最大下标位置 优化的暴力解法(很精妙,面试的时候可以说出来) 思想:两个指针 ...

  4. 【反射】Reflect Class Field Method Constructor

    关于反射 Reflection 面试题,什么是反射(反射的概念)? 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义 ...

  5. 【Type】类型 ParameterizedType

    Type 接口[重要] Type接口完整的定义: public interface java.lang.reflect.Type { /** * Returns a string describing ...

  6. 【Java】基本类型和引用类型(值传递)

    [关键词] [问题] · 加深对基本类型和引用类型的理解: [效果图] [分析] 參见最后的[參考资料] [解决方式] [代码] public void test() throws Exception ...

  7. 【LeetCode】Palindrome Partitioning 解题报告

    [题目] Given a string s, partition s such that every substring of the partition is a palindrome. Retur ...

  8. 【Leetcode】交替打印FooBar

    [问题]我们提供一个类: class FooBar { public void foo() { ; i < n; i++) { print("foo"); } } publi ...

  9. 【Java】abstract,final,static,private,protected,public的区别

    [abstract]抽象的 1. abstract可以修饰类和成员方法,被abstract修饰的类称为抽象类,被abstract修饰成员方法叫抽象方法.抽象类不一定有抽象方法,但拥有抽象方法的类一定是 ...

随机推荐

  1. Gradle初识

    一.安装配置 gradle官方网站https://gradle.org/,下载下来是一个压缩包,解压到合适的目录即可,然后配置环境变量(GRADLE_HOME,Path),略去. 二.IDEA配置 N ...

  2. commit 冲突

    git status or repo sync . 时看到如下的提示: error: packages/apps/app/: branch alpha is published (but not me ...

  3. FFM及DeepFFM模型在推荐系统的探索及实践

    12月20日至23日,全球人工智能与机器学习技术大会 AiCon 2018 在北京国际会议中心盛大举行,新浪微博AI Lab 的资深算法专家 张俊林@张俊林say 主持了大会的 搜索推荐与算法专题,并 ...

  4. [Canvas]空战游戏进阶 增加己方子弹管理类

    点此下载源码,可用Chrome打开观看. 图例: 代码: <!DOCTYPE html> <html lang="utf-8"> <meta http ...

  5. [Python设计模式] 第24章 加薪审批——职责链模式

    github地址:https://github.com/cheesezh/python_design_patterns 题目 用程序模拟以下情景 员工向经理发起加薪申请,经理无权决定,需要向总监汇报, ...

  6. centos 中查找文件、目录、内容

    1.查找文件 find / -name 'filename'12.查找目录 find / -name 'path' -type d13.查找内容 find . | xargs grep -ri 'co ...

  7. Xtrabackup的安装

    一.Installing Percona XtraBackup from Percona yum repository 添加源 yum install http://www.percona.com/d ...

  8. MinFilter(MaxFilter)快速算法C++实现

    目录 1.算法简述 1.1.MinFilter(MaxFilter) 算法简述 1.2.MinFilter(MaxFilter) 快速算法简述 2.实现代码 2.1.MinFilterOneRow 单 ...

  9. 解决CEF中显示Flash动画弹出安全警告问题

    一. 1.Xilium.CefGlue. CefApp (CefApp.cs文件)类on_before_command_line_processing方法内设置flash路径.版本号等. m_comm ...

  10. php获取客户端IP地址的方法

    参考:https://www.cnblogs.com/rendd/p/6183094.html <?php function getip() { //strcasecmp 比较两个字符,不区分大 ...