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

是:特指某一个事物

属于:同一的类型

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

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

人类
鸟类
汽车类
败类

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

学习面向对象的好处:
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. java获得上下周及本周日期

    public static SimpleDateFormat getFormat(String format) { return new SimpleDateFormat(format); } /** ...

  2. Ubuntu 18.04 安装Virtual Box or VMWare workstation Pro 14

    Linux相关的知识:https://www.cnblogs.com/dunitian/p/4822808.html#linux Virtual Box:sudo apt-get install vi ...

  3. idea不显示gradle的视图解决办法

    选择build tool.找到gradle→Runner,把委托给IDE构建勾选,然后重新导入一次就好了.

  4. 简单了解weblogic配置文件

    WebLogic的启动是通过启动文件来完成的 包括启动管理服务器(startWebLogic) 启动被管服务器(startManagedWebLogic) 设置域环境(setDomainEnv) 关闭 ...

  5. 基于nginx+xxl-job+springboot高可用分布式任务调度系统

    技术.原理讲解: <分布式任务调度平台XXL-JOB--源码解析一:项目介绍> <分布式任务调度平台XXL-JOB--源码解析二:基于docker搭建admin调度中心和execut ...

  6. Gitlab团队协作流程

    一:加入群组 项目管理员添加用户到群组,赋予权限(owner.developer...). 二:拉取项目,建立分支 通过git clone拉取项目到本地,通过终端打开项目目录,创建自己的分支,并推送到 ...

  7. (原)Max Area of Island(即连通域标记)

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/10493114.html 1. 问题 Given a non-empty 2D array grid ...

  8. Git-Book

    关于git的文档https://git-scm.com/book/zh/v2

  9. Effective Java 第三版—— 87. 考虑使用自定义序列化形式

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  10. Effective Java 第三版——74. 文档化每个方法抛出的所有异常

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...